Visual Basic - RECUPERAR DATOS EN UN COMBOBOX

Life is soft - evento anual de software empresarial
 
Vista:

RECUPERAR DATOS EN UN COMBOBOX

Publicado por Juan (30 intervenciones) el 28/04/2006 16:46:15
NECESITO SABER COMO RECUPERAR TODOS LOS DATOS DE UN REGISTRO D UNA BASE DE DATOS EN UN COMBOBOX AL INICIAR UN FORM.

TENGO UNA BASE DE DATOS QUE SE LLAMA "B". CONTIENE LOS CAMPOS:


NOMBRE
APELLIDOS

NECESITO QUE AL CARGAR EL FORM, EN EL COMBOBOX1 LISTE TODOS LOS REGISTROS GRABADOS EN LA BASE DEL CAMPO " Nº ".

ADEMAS ME GUSTARÍA SABER COMO PROGRAMO EL COMBOBOX1 PARA QUE AL PULSAR SOBRE UNO DE ESOS REGISTROS ME APAREZCA EN PANTALLA (EN LOS TEXT) LOS DATOS DE ESE REGISTRO.

GRACIAS.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:RECUPERAR DATOS EN UN COMBOBOX

Publicado por ivan (1039 intervenciones) el 28/04/2006 17:04:31
Si acaso la tabla B de tu base de datos la abres con un RecordSet

TablaB.Open "select * from B", RsConexion, ...., .....
Combo1.Clear: Combo2.Clear: Combo3.Clear
For i=1 to TablaB.RecordCount
TablaB.AbsolutePosition = i
Combo1.AddItem(TablaB("num"))
Combo2.AddItem(TablaB("nombre"))
Combo3.AddItem(TablaB("apellidos"))
Next i

Con eso llenas los combobox, ahora para que al pulsar en un combobox, supongo que donde guardas el número, te muestre en varios textbox el resto de los campos de ese registro, debes usar el evento Click del combo, donde puedes abrir en otro RecordSet el registro a que haga referencia el combo donde guardas el campo "NUM", por ejemplo

Evento Click del Combo1....
RestoCampos.open "select * from B where NUM = " & val(Combo1.Text), RsConexion, ......., ......
Text1.Text = RestoCampos("campo_1")
Text2.Text = RestoCampos("campo_2")
Text3.Text = RestoCampos("campo_3")
Textn.Text = RestoCampos("campo_n")
RestoCampos.Close

En ambos ejemplos, asumo que manejas ADODB para abrir las bases de datos y las tablas, asumo también que el campo NUM es un campo numérico y es como el "campo llave" de la tabla B, espero te sirva, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:RECUPERAR DATOS EN UN COMBOBOX

Publicado por Juan (30 intervenciones) el 28/04/2006 17:10:29
INTRODUZCO ESTOS:


private sub Form_Load()
TablaB.Open "select * from B", RsConexion, ...., .....
Combo1.Clear: Combo2.Clear: Combo3.Clear
For i=1 to TablaB.RecordCount
TablaB.AbsolutePosition = i
Combo1.AddItem(TablaB("num"))
Combo2.AddItem(TablaB("nombre"))
Combo3.AddItem(TablaB("apellidos"))
Next i
End sub

La primera línea me aparece en rojo ¿que hago para que funcione?

La base de datos la uso con componente "data" y recorset.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:RECUPERAR DATOS EN UN COMBOBOX

Publicado por ivan (1039 intervenciones) el 28/04/2006 17:23:57
Se me olvidó ponerlos, creo que es esto..:

TablaB.CursorLocation = adUseClient

En mi caso uso ADODB, en el caso del componente DATA desconozco si la propiedad AbsolutePosition funcione.

En tal caso debieras hacer un bucle, de forma que vaya avanzando (TablaB.MoveNext) hasta que sea fin de archivo (TablaB.EOF).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:RECUPERAR DATOS EN UN COMBOBOX

Publicado por Juan (30 intervenciones) el 28/04/2006 19:26:15
No funciona tu codigo y ya te digo, uso Data.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:RECUPERAR DATOS EN UN COMBOBOX

Publicado por ivan (1039 intervenciones) el 28/04/2006 22:28:02
ya se que tu usas DATA, yo no, yo te dije como se hace usando ADO, lo aclaré desde el principio (y si no lo hice mil disculpas), mi código si funciona si lo usaras como te dije, y si digo que si sirve es porque a mi si me está funcionando.

En teoría, lo que debes hacer es recorrer todos los registros de tu colección de datos, desde el principio hasta el final, conforme vas avanzando los vas agregando a los combos... ahora cómo se hace esto con CONTROL DATA.... NO LO SE.....

Discúlpame por no saber instrucciones y/o métodos antiguos . Saludos y gracias por tus comentarios.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar