Combo box

Mi pregunta es
Como puedo hacer en un programa de v. Basic hacer que en un combo donde tengo datos de un tabla (son ciudades)
Quiero que al momento de seleccionar una ciudad en otro combo me muestre automáticamente
Los clientes de dicha ciudad
Los cuales también están en una tabla
De antemano gracias

1 Respuesta

Respuesta
1
Dim rcCiudades As New ADODB.Recordset
RcCiudades. Open "SELECT * FROM Ciudades", dbcatalogos, adOpenForwardOnly, adLockOptimistic
combo_ciudades. Clear
With rcCiudades
If .BOF = False And .EOF = False Then
While Not .EOF
DoEvents
combo_Ciudades.AddItem !Ciudad
combo_ciudades.ItemData(combo_Ciudades.NewIndex) =!ID
.MoveNext
Wend
End If
End With
rcCiudades.Close
Luego en la propiedad clic del combobox de Ciudad que lo rellenaste con el código de arriba pones esto.
Dim rcClientes As New ADODB.Recordset
rcClientes.Open "SELECT * FROM Clientes WHERE IDCiudad=" & " combo_ciudades.ItemData(combo_ciudades.ListIndex) & "", dbcatalogos, adOpenForwardOnly, adLockOptimistic
combo_clientes.Clear
With rcClientes
If .BOF = False And .EOF = False Then
While Not .EOF
DoEvents
combo_clientes.AddItem !Nombre_Cliente
combo_cliente.ItemData(combo_cliente.NewIndex) =!ID
.MoveNext
Wend
End If
End With
RcClientes. Close
Como ves el relleno es muy fácil, lo que se hace es en la propiedad ItemData del combobox de las ciudades guardas sus respectivas ID o llave que tienes en la tabla de clientes así con una instrucción SQL jalas todos los clientes con dicha ID o Clave al dar un clic y rellenas el combo box correspondiente poniendo en este en la propiedad ItemData su ID o Clave para futuras referencias a otra tablas.
Nota: para grabar en los ItemData de los combobox son llaves numéricas si tienes campos alfanuméricos como llaves entonces realiza la búsqueda directamente por el texto en ves de por los itemdata de los combobox. Creo que con estos códigos te vas a ubicar y no vas a batallar sea cual sea el tipo de datos que tengas, cualquier duda preguntas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas