Foros del Web » Programación para mayores de 30 ;) » Programación General »

Còmo hacer para que cboBox tome datos de Base de datos en VB6

Estas en el tema de Còmo hacer para que cboBox tome datos de Base de datos en VB6 en el foro de Programación General en Foros del Web. Hola a todos! Estoy queriendo tomar datos de una base de datos para que un cboBox aparezca con esa info en su propiedad Text. Hice ...
  #1 (permalink)  
Antiguo 26/11/2004, 13:25
 
Fecha de Ingreso: febrero-2003
Mensajes: 167
Antigüedad: 21 años, 2 meses
Puntos: 1
Còmo hacer para que cboBox tome datos de Base de datos en VB6

Hola a todos! Estoy queriendo tomar datos de una base de datos para que un cboBox aparezca con esa info en su propiedad Text. Hice lo siguiente pero me da error:

Private Sub Form_Load()
cboCursos.Text=DatPaquetes.Recordset("Paquetes")
End Sub

donde cboCursos es el nombre del comboBox
DatPaquetes es el control data asociado a la
base de datos cuya tabla "Cursos"
contiene el campo "Paquetes"

El error que me da es: "Variable de tipo object o la variable de tipo with no está establecida"

También quisiera que me ayuden a tomar de una base de datos la lista del cboBox.

Gracias!
  #2 (permalink)  
Antiguo 26/11/2004, 14:22
Avatar de lic_dahool  
Fecha de Ingreso: noviembre-2003
Mensajes: 418
Antigüedad: 20 años, 5 meses
Puntos: 0
Para agregar datos al combo debes usar:

Combo.AddItem "Texto"

Saludos.
__________________
La cantidad total de inteligencia del planeta permanece constante.
La población, sin embargo, sigue aumentando.

COLE


:cool: Los ordenadores no resuelven problemas ... ejecutan soluciones.
Laurent Gasser


Tienes alguna duda :pensando: ? >>> www.google.com :aplauso: <<<
  #3 (permalink)  
Antiguo 26/11/2004, 14:25
 
Fecha de Ingreso: febrero-2003
Mensajes: 167
Antigüedad: 21 años, 2 meses
Puntos: 1
Si, pero lo quiero sacar de la base de datos...
  #4 (permalink)  
Antiguo 26/11/2004, 14:32
Avatar de lic_dahool  
Fecha de Ingreso: noviembre-2003
Mensajes: 418
Antigüedad: 20 años, 5 meses
Puntos: 0
Pues en vez de texto colocas los datos del campo que deseas agregar:

cboCursos.AddItem DatPaquetes.Recordset("Paquetes")
__________________
La cantidad total de inteligencia del planeta permanece constante.
La población, sin embargo, sigue aumentando.

COLE


:cool: Los ordenadores no resuelven problemas ... ejecutan soluciones.
Laurent Gasser


Tienes alguna duda :pensando: ? >>> www.google.com :aplauso: <<<
  #5 (permalink)  
Antiguo 26/11/2004, 15:02
 
Fecha de Ingreso: febrero-2003
Mensajes: 167
Antigüedad: 21 años, 2 meses
Puntos: 1
Puse:

cboCursos.AddItem DatPaquetes.Recordset("Paquetes")

y me sigue dando el error "Variable de tipo object o la variable de tipo with no está establecida"
  #6 (permalink)  
Antiguo 26/11/2004, 17:27
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 19 años, 11 meses
Puntos: 0
Prueba con esto:
indice es integer, rs es un recordset
En este caso asigno el ID, y el nombre de un registro por ejm si el rs metra el ID=1 y como nombre "Pepe" en el combo aparece Pepe y como indice 1 esto es muy util cuando quieres guardar el ID directamente.

Combo.AddItem rs(1)
indice = Combo.NewIndex
Combo.ItemData(indice) = rs(0)

Saludos
  #7 (permalink)  
Antiguo 26/11/2004, 18:32
Avatar de lic_dahool  
Fecha de Ingreso: noviembre-2003
Mensajes: 418
Antigüedad: 20 años, 5 meses
Puntos: 0
Cita:
Iniciado por Siddhartha
Puse:

cboCursos.AddItem DatPaquetes.Recordset("Paquetes")

y me sigue dando el error "Variable de tipo object o la variable de tipo with no está establecida"
Porque no puedes hacerlo en el evento Load del formulario, porque el objeto Data aun no realizó la conexión, debes esperar a que se carge el formulario.
Coloca el código en el evento Activate

Eso resolverá tu problema, saludos.
__________________
La cantidad total de inteligencia del planeta permanece constante.
La población, sin embargo, sigue aumentando.

COLE


:cool: Los ordenadores no resuelven problemas ... ejecutan soluciones.
Laurent Gasser


Tienes alguna duda :pensando: ? >>> www.google.com :aplauso: <<<
  #8 (permalink)  
Antiguo 27/11/2004, 07:37
 
Fecha de Ingreso: febrero-2003
Mensajes: 167
Antigüedad: 21 años, 2 meses
Puntos: 1
Gracias, lo voy a probar
  #9 (permalink)  
Antiguo 27/11/2004, 09:33
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
mejor proba un DataCombo esta hecho para eso...
no el ComboBox que es solo para un par de opciones..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #10 (permalink)  
Antiguo 28/11/2004, 09:01
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
De acuerdo Creo que es asi...


Bueno el codigo es simple...
tenes que hacer esto:

en el evento load del form
form_load
dim K as string ' esta variable contendra el numero de datos de la bd
For k=1 to DatPaquetes.RecordCount
DatPaquetes.MoveFirts ' Llevamos el Cursor hasta el inicio de la tabla
CboCursos.AddItem (DatPaquetes.Fields(0))' * ' agregamos los datos
'de la tabla al combo
DatPaquetes.MoveNext ' esto es para que cada vez que agrege uno
' avance al sgte, registro para luego con el
' contador luego agregarlo y listo
Next K

podes probar este codigo, solo debes pegarlo en la ventana de codigo
ojo que lo hice con las nombres de los controles que has mencionado.
* aca en la instruccion he puesto como campo de la tabla 0 que equivale al primer campo de la tabla, podes cambiarlo por el campo que os deseas agregar..
[email protected]
  #11 (permalink)  
Antiguo 28/11/2004, 20:41
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
pero porque se empleñan en hacerlo de esa manera,no saben de que manera carga un formulario cuando ya hay mucha información.

Para eso estan los

"DATACOMBOS"

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:33.