Ordenación con datacontrol

Deseo ordenar una tabla hecha en foxpro2.6 desde un control data en visualbasic6.0, pues no usar la propiedad sort de este control.

1 respuesta

Respuesta
Bueno en realidad esta propiedad no pertenece directamente al control data si no al objeto recordet asociado al data control. Para que podas utilizar esta propiedad del objeto recordset tienes que especificar en las propiedades del data control, en la propiedad recordsetType = Dynaset, ya que la propiedad sort trabaja solo para recordet de tipo Dynaset O SnapShot.
A continuación te doy el código de ejemplo que podes utilizar. Una aclaración los datos en la tabla no están ordenados, se ordenan al aplicar la propiedad sort en el recordset.
Option Explicit
Private db As Database
Private rstalec As Recordset
Private Sub SalidaOrdenar(strTemp As String, _
rstTemp As Recordset)
With rstTemp
Debug.Print strTemp
Debug.Print " Ordenar = " & _
IIf(.Sort <> "", .Sort, "[Vacío]")
.MoveFirst
' Enumera el Recordset.
Do While Not .EOF
Debug.Print " " & !NUMEROABON
.MoveNext
Loop
End With
End Sub
Private Sub cmdnew_Click()
Data1.Recordset.AddNew
End Sub
Private Sub Command1_Click()
Dim rstClasificarEmpleados As Recordset
With Data1.Recordset
SalidaOrdenar "Recordset original:", Data1.Recordset
.Sort = "NUMEROABON"
' Imprime un informe mostrando la propiedad Sort y el orden de los registros.
SalidaOrdenar _
"Recordset después de modificar la propiedad Sort:", _
Data1. Recordset
' Abre un Recordset nuevo a partir del actual.
Set rstClasificarEmpleados = .OpenRecordset
' Imprime un informe que muestra la propiedad Sort y el orden de los registros.
SalidaOrdenar "Recordset nuevo:", rstClasificarEmpleados
RstClasificarEmpleados. Close
.Close
End With
End Sub
Private Sub Form_Activate()
Data1.Recordset.Sort = "NUMEROABON"
Set Data2.Recordset = Data1.Recordset
End Sub
Private Sub Form_Load()
'Set db = OpenDatabase("C:\Mis documentos\codigo fuente\vb\manejo de tablas dbf", False, False, "dBASE III;")
'Set rstalec = db.OpenRecordset("prueba.DBF", dbOpenDynaset)
MsgBox "Motor jET" & DBEngine.Version
End Sub
Si quieres alguna explicación extra, seguimos en contacto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas