Re: ComboBox Dinamicos Y Anidxados
Hola.
Nada de variables globales. Lo que tienes que hacer es entender como leer de una base de datos y llevar al combo. Luego es repetir eso en tu caso varias veces cambiando únicamente la select.
Pongamos que en BD hay una tabla de CLIENTES con los campos PAIS, ESTADO, CIUDAD. Puede haber muchos clientes del mismo pais y puede haber ciudades que pertenezcan a a varios paises (por ejemplo hay un Cordoba en Argentina).
Lo que tu quieres hacer es que en un combo-pais aparezcan los distintos paises de clientes y que no se repitan osea que si hay cien clientes de España que en el combo no aparezca cien veces España sino solo una.
Dim Rs as recordset, Sql as string
sql="select distinct pais from clientes order by pais"
rs=cn.exec(sql)
do while rs.available
combopais.additem rs!pais
rs.movenext
loop
Con eso lees la tabla y en el combo se meten en orden los diversos paises que figuran en el campo pais sin repeticiones.
Ahora tu quieres que cuando hagan click en ese combo se llene otro combo-estado con los diversos estados que hay en la tabla para ese pais (y de nuevo sin repeticiones)
public sub combo-pais_click()
Dim Rs as recordset, Sql as string
sql="select distinct estado from clientes where pais='" & combo-pais.text & "' order by estado"
rs=cn.exec(sql)
do while rs.available
combo-estado.additem rs!estado
rs.movenext
loop
end[/code]
Por terminar el ejemplo tu quieres que una vez elegido pais y estado tu quieres que en un tercer combo-ciudad aparezcan las ciudades de ese pais y ese estado de nuevo sin repeticiones
public sub combo-estado_click()
Dim Rs as recordset, Sql as string
sql="select distinct estado from clientes where pais='" & combo-pais.text & "' and estado='" & combo-estado.text & "' order by ciudad"
rs=cn.exec(sql)
do while rs.available
combo-ciudad.additem rs!ciudad
rs.movenext
loop
end[/code]
Eso es todo. Puedes repetir esto hasta la saciedad. No tiene mas dificultad que esta. Todo el truco consiste en conocer sql.
Un saludo