Ayuda con recordsets creados mediante codigo

luisen
28 de Enero del 2004
Necesito enlazar varias cajas de texto a un recordset que he creado mediante código, pero no encuentro la forma de hacerlo. No se que debo poner en la propiedad de text1.datasource ni en la propiedad text1.datafield. ¿Me podeis ayudar? Muchas gracias.

Bartolom
28 de Enero del 2004
Para enlazar la caja de texto, debes hacerlo en tiempo de ejecución. Primero debes crear la conexión y luego el recordset a partir de esa conexión activa. Debes asignarle las propiedades Datasource y Datafield en tiempo de ejecución, de la siguiente manera. Supongamos que lo haces en el evento Load del formulario:


Private Sub Form_Load()
Dim Conexión As Connection
Dim rsRecordset As Recordset

Set Conexión = New Connection
With Conexión
.Provider = "Microsoft.jet.oledb.4.0"
.ConnectionString = " Ruta BaseDatos.mdb"
End With
Conexión.Open

Set rsRecordset = New Recordset
With rsRecordset
.Source = "SELECT * FROM TABLA ORDER BY Campo"
.ActiveConnection = Conexión
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.LockType = adLockOptimistic
End With
rsRecordset.Open Options:=adCmdText
Set Text1.DataSource = rsRecordset
Text1.DataField = rsRecordset.Fields(0).Name
End Sub

donde Fields(0) equivale al número del campo, en este caso 0 sería la primera columna, 1 la segunda y así sucesivamente.

Saludos!