SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Visual Basic para principiantes => Mensaje iniciado por: zero_ls en Martes 7 de Agosto de 2007, 07:08

Título: Datos De Base De Datos En Conbobox
Publicado por: zero_ls en Martes 7 de Agosto de 2007, 07:08
hola, me gustaria que me explicaran como puedo jalar los registros de un campo de una base de datos, y desplegarlos en forma de lista en un comboBox, utilizando ADODB?
Título: Re: Datos De Base De Datos En Conbobox
Publicado por: CUPER en Viernes 26 de Octubre de 2007, 15:49
Estimdo una de las formas mas simples y siempre y cuando la lista no sea extensa

Private Sub LISTA_Verduras_Enter()
With COMP
.Clear
.AddItem "Papas"
.AddItem "cebollas"
.AddItem "manzanas"
End With
End Sub
Título: Re: Datos De Base De Datos En Conbobox
Publicado por: robbie110487 en Viernes 16 de Noviembre de 2007, 23:11
Claro, pero imagina que los datos son 100000, no vas a hacer un additem a cada de cada uno, aparte luego si modificas la base de datos tendras que modificar el codigo para agregar otro additem.

Lo que yo uso para agregar los datos es hacer un recordset exclusivo con el campo del cual se alimentara el combo y luego ya mediante un ciclo while se añaden, algo mas o menos asi:

Código: Text
  1. 'Se declaran las variables
  2. Private conexion As ADODB.Connection
  3. Private WithEvents rs As ADODB.Recordset
  4.  
  5. 'Constante para la base de datos
  6. rutaBase = "basededatos.mdb"
  7.  
  8.     'Se crean nuevos objetos
  9.     Set conexion = New ADODB.Connection
  10.     Set rs = New ADODB.Recordset
  11.    
  12.     'Establezco la conexion
  13.     With conexion
  14.         .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & rutaBase & ";"
  15.         .Open
  16.     End With
  17.  
  18.    'Creo el recordset con el campo para llenar mi combo
  19.     rs.Open "SELECT usuario FROM usuarios", conexion, adOpenDynamic, adLockOptimistic
  20.    
  21.     'Mientras el recordsert no llegue a su fin
  22.      'Se añade el campo en la posicion 0 (es el unico) y movemos a la sig posicion del rs
  23.     While Not rs.EOF
  24.         lstUsuario.AddItem rs.Fields(0)
  25.         rs.MoveNext
  26.     Wend
  27.  
  28.  

Espero te haya servido...

Saludos