Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Relacion de dos combo box

Estas en el tema de Relacion de dos combo box en el foro de Visual Basic clásico en Foros del Web. Les cuento el planteo de lo que tengo Tengo dos tablas en mi base de datos 1ra TABLA PAIS ID_PAIS PAIS 2da TABLA PROVINCIAS ID_PROVINCIA ...
  #1 (permalink)  
Antiguo 22/10/2009, 11:34
 
Fecha de Ingreso: octubre-2009
Mensajes: 3
Antigüedad: 14 años, 6 meses
Puntos: 0
Relacion de dos combo box

Les cuento el planteo de lo que tengo
Tengo dos tablas en mi base de datos
1ra TABLA PAIS
ID_PAIS
PAIS

2da TABLA PROVINCIAS
ID_PROVINCIA
PROVINCIA
PAIS

El campo Pais de la tabla provincia es numerico y tiene relacion con el ID_PAIS de la tabla Pais

Despues en mi proyecto VB6 tengo un DataEnviroment a esta BD y dos comandos el primero a la tabla PAIS y un segundo comando a la Tabla PROVINCIAS con un parametro sobre el campo PAIS que es igual al ID_PAIS

Por ultimo tengo en un formulario dos COMBOBOX uno llamado PAIS y el otro PROVINCIA y configurado los parametros de los elementos
El problema es que no se como hacer para que cuando selecciono una PAIS se cargue el DataCombo de PROVINCIAS con las provincias correctas. Tiene que ser un datacombo para poder tomar el valor despues de BoundColumn y guardar eso en la Base de Datos

Desde ya muchas gracias a todos
  #2 (permalink)  
Antiguo 22/10/2009, 12:17
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Respuesta: Relacion de dos combo box

Primero cargar la lista de pais dentro del combo1 haces una consulta donde haces referencia que cargue la lista de pais con :

Esto en el load()
Código:
Set rs = New Recordset
rs.Open "select id_pais, pais from tabla_pais", cn, adOpenDynamic, adLockOptimistic
    
Do Until rs.EOF
    combo1.AddItem rs.Fields(1)
    rs.MoveNext
Loop
Luego en el combo2 que hace referencia a las provincias haces lo siguiente
esto lo colocas en Click() del combo1
Código:
Set rs2 = New Recordset
rs2.Open "select provincia from tabla_provincias WHERE pais=(SELECT id_pais from tabla_pais where pais='" & combo1.text &"')", cn, adOpenDynamic, adLockOptimistic

Do Until rs.EOF
    combo2.AddItem rs2.Fields(0)
    rs2.MoveNext
Loop
De esta manera cuando tu hagas click en un Pais que selecciones en el combo1, automaticamente carga la lista de las provincias en el combo2

PD: recordar que tu campo pais en tabla_provincias hace referencia a id_pais en la tabla_pais
  #3 (permalink)  
Antiguo 22/10/2009, 13:31
 
Fecha de Ingreso: octubre-2009
Mensajes: 3
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Relacion de dos combo box

me da error en el

Do Until rs.EOF
combo2.AddItem rs2.Fields(0)
rs2.MoveNext
Loop

en la palabra AddItem dice que no se encotro el Metrodo o el miembro de Datos
  #4 (permalink)  
Antiguo 22/10/2009, 13:46
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Respuesta: Relacion de dos combo box

Dice
Código:
Do Until rs.EOF
combo2.AddItem rs2.Fields(0)
rs2.MoveNext
Loop
debe decir:

Código:
Do Until rs2.EOF
combo2.AddItem rs2.Fields(0)
rs2.MoveNext
Loop
Recodar que el rs2.Fields(0) hace referencia al campo primero pero tambien puedes colocar para no confundirte rs2.Fields("provincia")
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 00:59.