Como se rellena un datacombo
He probado con todas las propiedades, listfield, datasource, etc. y nada de nada no se rellena. He buscado ejemplos y los que he encontrado no me sirven, yo lo unico que quiero es rellenar un datacombo con los datos que contiene una tabla de una sola columna. Gracias por todo
Porque no utilizas un ListView???
Solo le tienes que decir el numero de columnas que quieres y despues con los datos obtenidos de la sentencia sql vas rellenandola con el la propiedad lista.listindes(i).add
Solo le tienes que decir el numero de columnas que quieres y despues con los datos obtenidos de la sentencia sql vas rellenandola con el la propiedad lista.listindes(i).add
Mira te pongo un ejemplo de como relleno yo un ListView con unos datos obtenidos de la BDD.
Sub MostrarComponentes(lista As ListView, tipoComponentes As String)
Dim conecta As New ADODB.Connection
Dim rstSeleccion As New ADODB.recordset
Dim i As Integer
'Estas funciones las hice yo para hacer la conexion con la base de datos e inicializar el RecordSet
Conexion conecta
InicializarRecordSet rstSeleccion, conecta
With rstSeleccion
.Open "Select * from Componentes where IdTipo= (Select IdTipo from TiposComponentes where Tipo ='" & tipoComponentes & "' and Stock=True) order by componente"
i = 0
'Se limpia la lista para insertar los datos obtenidos en
'la seleccion anterior
lista.ListItems.Clear
'Se insertan todos los datos obtenidos en la seleccion
'Mientras tenga algun componente de la seleccion
While (Not .EOF)
i = i + 1
'Inserto en la primera columna
lista.ListItems.Add , , !componente
'Inserto en la segunda columna
'Para insetar en mas columnas igual
lista.ListItems(i).ListSubItems.Add , , !Precio
.MoveNext
Wend
End With
'Se finalizan las conexiones
'Estas funciones tambien las hice yo para finalizar la conexion y el recordSet
FinalizarRecordSet rstSeleccion
Desconexion conecta
End Sub
Espero que te sirva
Sub MostrarComponentes(lista As ListView, tipoComponentes As String)
Dim conecta As New ADODB.Connection
Dim rstSeleccion As New ADODB.recordset
Dim i As Integer
'Estas funciones las hice yo para hacer la conexion con la base de datos e inicializar el RecordSet
Conexion conecta
InicializarRecordSet rstSeleccion, conecta
With rstSeleccion
.Open "Select * from Componentes where IdTipo= (Select IdTipo from TiposComponentes where Tipo ='" & tipoComponentes & "' and Stock=True) order by componente"
i = 0
'Se limpia la lista para insertar los datos obtenidos en
'la seleccion anterior
lista.ListItems.Clear
'Se insertan todos los datos obtenidos en la seleccion
'Mientras tenga algun componente de la seleccion
While (Not .EOF)
i = i + 1
'Inserto en la primera columna
lista.ListItems.Add , , !componente
'Inserto en la segunda columna
'Para insetar en mas columnas igual
lista.ListItems(i).ListSubItems.Add , , !Precio
.MoveNext
Wend
End With
'Se finalizan las conexiones
'Estas funciones tambien las hice yo para finalizar la conexion y el recordSet
FinalizarRecordSet rstSeleccion
Desconexion conecta
End Sub
Espero que te sirva
