Añadir registros de una tabla a un combobox
Hola!!
¿alguien podría decirme cómo hacerlo para que al desplegar el combobox de una aplicación, me salieran los registros contenidos en una tabla de Access? ¿necesito utilizar un control ADODC o puedo hacerlo sin él? ¿cómo sería el código? Lo he provado de mil maneras y nada (combo vacío).
Gracias!
¿alguien podría decirme cómo hacerlo para que al desplegar el combobox de una aplicación, me salieran los registros contenidos en una tabla de Access? ¿necesito utilizar un control ADODC o puedo hacerlo sin él? ¿cómo sería el código? Lo he provado de mil maneras y nada (combo vacío).
Gracias!
Prueba con esta rutina:
En la parte de declaraciones del formulario, declara una Conexion y un Recordset
Dim Cn As ADODB.Recordset
Dim Rs As ADODB.Recordset
Crea un procedimiento para obtener los datos de la tabla de Access:
Sub LlenaCombo(Combo As ComboBox, Recordset As ADODB.Recordset, Campo As String)
With Combo
.Clear
Recordset.MoveFirst
Do While Not Recordset.EOF
.AddItem Recordset.Fields(Campo).Value
.Refresh
Recordset.MoveNext
Loop
End With
End Sub
Luego en el Load del formulario:
Set Cn = New ADODB.Connection
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = C:Base.mdb"
Set Rs = New ADODB.Recordset
Rs.Open "Select * From Clientes", Cn, adOpenDynamic, adLockOptimistic, adCmdText
Call RellenaCiex(Combo1, Rs, "Nombres")
Espero te sirva
En la parte de declaraciones del formulario, declara una Conexion y un Recordset
Dim Cn As ADODB.Recordset
Dim Rs As ADODB.Recordset
Crea un procedimiento para obtener los datos de la tabla de Access:
Sub LlenaCombo(Combo As ComboBox, Recordset As ADODB.Recordset, Campo As String)
With Combo
.Clear
Recordset.MoveFirst
Do While Not Recordset.EOF
.AddItem Recordset.Fields(Campo).Value
.Refresh
Recordset.MoveNext
Loop
End With
End Sub
Luego en el Load del formulario:
Set Cn = New ADODB.Connection
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = C:Base.mdb"
Set Rs = New ADODB.Recordset
Rs.Open "Select * From Clientes", Cn, adOpenDynamic, adLockOptimistic, adCmdText
Call RellenaCiex(Combo1, Rs, "Nombres")
Espero te sirva