Visual Basic - Campos asociados a un Combo

Life is soft - evento anual de software empresarial
 
Vista:

Campos asociados a un Combo

Publicado por Jorge (7 intervenciones) el 14/09/2000 00:00:00
Digamos que tengo una BD con una tabla que tiene al campo Codigo y al campo Descripcion. Y tengo un formulario con un combo y un textbox. Ahora bien, en el combo yo muestro la descripcion pero quiero que cuando la seleccione me aparezca en el textbox el codigo respectivo a la descripcion seleccionada. Esto hacerlo sin usar SQL , ni ningun tipo de busqueda que vaya a la tabla y me busque por descripcion y me traiga el valor del campo codigo. Existe alguna forma de hacerlo si no es con un combo, que sea con un dbcombo o con otra cosa que por ahi no conozco. Desde luego el ejemplo que puse es inventado, el uso que le quiero dar es mas complejo.

Saludos, Jorge
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:Campos asociados a un Combo

Publicado por Christian A. Valeria Celedón (207 intervenciones) el 15/09/2000 00:00:00
Usa el siguiente código, puede que te sirva..

Private Sub DBCombo1_Click(Area As Integer)
Text1.Text = DBCombo1.BoundText
End Sub
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:Campos asociados a un Combo

Publicado por eduy (423 intervenciones) el 15/09/2000 00:00:00
Espero que te sirva:

Private Sub Combo1_Click()

Data1.Recordset.MoveFirst
Data1.Recordset.Move Combo1.ListIndex
Text1.Text = Data1.Recordset.Fields("nu_tlf")
End Sub

Private Sub Command1_Click()

Data1.Recordset.MoveFirst
Data1.Recordset.Index = "Nombre"

Do While Not Data1.Recordset.EOF
Combo1.AddItem Data1.Recordset.Fields("nb_cliente")
Data1.Recordset.MoveNext
Loop


End Sub

Bueno aqui yo llene el combox al apretar un boton en tu casi tu sabras cuando lo llenas, PRIMERO indexas el recordset por el nombre almacenas en el orden del rescordset los nombres en el combobox

Data1.Recordset.MoveFirst
´Indexas
Data1.Recordset.Index = "Nombre"
´Llenas el combobox
Do While Not Data1.Recordset.EOF
Combo1.AddItem Data1.Recordset.Fields("nb_cliente")
Data1.Recordset.MoveNext
Loop

Luego cuando haga click en uno de los nombres lo que tienes que hacer es moverte, los combox como los recordset el primer elemento es 0, esto significa que si seleccionas el elemento 10 del combobox, es lo equivalente al elemento 10 de tu imagen del Recordset, lo que tienes que hacer es moverte con Data1.recordset.move

Espero que te sirva
Atte.
Eduardo
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:Campos asociados a un Combo

Publicado por Christian A. Valeria Celedón (207 intervenciones) el 16/09/2000 00:00:00
En la respuesta anterior no fui muy completo así que aquí te va una explicación de la solución.
Este ejemplo usa un control DBCombo. Recuerda que que este control debes enlazarlo con un control Data y configurar las siguientes propiedades:

Data1.DatabaseName = Path de tu BD
Data1.RecordSource = Tabla de donde sacar los datos
DBCombo1.RowSource = Data1
DBCombo1.ListField = Campo que se verá en el DBCombo
DBCombo1.BoundColumn = Campo que se verá en el TextBox

Por último debes usar el siguiente código en el módulo del formulario

Private Sub DBCombo1_Click(Area As Integer)
Text1.Text = DBCombo1.BoundText
End Sub

Espero que ahora haya quedado un poco más claro y cualquier duda o consulta no dudes en mandarme un correo
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