Desplegar Una Tabla De Access 2003 en un combobox

Iniciado por gabrielk, 25 Marzo 2006, 04:38 AM

0 Miembros y 1 Visitante están viendo este tema.

gabrielk

Tengo la BD de con una tabla que se llama colores ,quisiera poner el contenido de esa tabla en un combo, la tabla tiene los campos: idcolor y descolor, quiero que me muestre estos campos en el combo ;ejemplo:

1 azul
2 rojo
3 verde

Por su ayuda gracias

karmany

#1
Hola gabrielk.
Mira, lo primero que tienes que hacer para trabajar la BDD con VB, es pasar tu base de datos de Acces 2003 a 97. Esto con el mismo Access lo puedes hacer.

Deberás "decirle" a VB que vas a abrir una base de datos.. y para esto te pongo el ej. más sencillo para mí, que es con un control de datos Data, aunque es mejor usar el control de datos ADO.
Debes rellenar Connect, poniendo Access. En DataBaseName tu base de datos.
Ahora hay que hacer una consulta y desplegarla en tu combobox. Particularmente, me gustan más los listbox que los combobox, ya que estos últimos me han dado alguna restricción, por eso te lo pongo en un listbox:

Dim a as integer
a=0
Data1.RecordSource = "SELECT * FROM colores ORDER BY colores"
Data1.Refresh
Do Until Data1.Recordset.EOF
        a=a+1
        List1.AddItem a & " " & Data1.Recordset("colores")
        Data1.Recordset.MoveNext
Loop


Tu pregunta es bastante general para poder responderte completo, pero con esto espero te valga.


gabrielk

La conexion con la base de datos es con ADO y establezco conexion en el Form Load del mismo formulario donde  manipulo la base de datos antes usaba un textbox para capturar el color manualmente,  pero ahora quisiera hacerlo mediante un combobox, de la tabla Colores.Lo unico que me falta es que me desplegue la lista. Segun para mi eso es lo mejor no se si tengan otra sugerencia, y gracias por su interes por ayudarme a aprender...

karmany

#3
Mira te lo pongo con ADO y con un combobox (combo1), pero me parece que con lo que te he puesto es bastante sencillo hacer lo que pretendes..Te explico: la base de datos tiene una tabla: tabla1 y esa tabla1 tiene un sólo campo: colores.

Dim a As Integer
    a = 0
    Adodc1.RecordSource = "select * from tabla1 order by colores"
    Do Until Adodc1.Recordset.EOF
        a = a + 1
        Combo1.AddItem a & " " & Adodc1.Recordset("colores")
        Adodc1.Recordset.MoveNext
    Loop

Acabo ahora mismo de probarlo con una base de datos y va perfecto. Si tienes algún problema dime dónde te da el error..

NightZpy

facil mira


dataenvironment1.rstabla.movefirst
do while no  dataenvironment1.rstabla.eof
combo1.additem dataenvironment1.rstabla.fields(numero del cambo que deseas que agregue sus datos al combo)
dataenvironment1.rstabla.movenext
loop


lo primero te colocas en el primer registro de la tabla, luego le dices que comeince sino ha llegado al final de la tabla  o al ultimo registro, lugo con la propiedad additem agregas al combo los datos que el do while va consiguiendo al recorrer el field o cambo que quieres y con move next puse que cuando recorra un registro valla al otros y asi sucesivamente..

salu2s...

blackhacking.no-ip.org "Con Server para prácticas" - "La incompetencia en masas es inversamente proporcional al sistema social"