ComboBox Dinamicos Y Anidxados (solucionado)


Objetivo: ComboBox Dinamicos Y Anidxados (solucionado)
Hola a todos!

Necesito realizar ComboBox anidados y de forma dinamica a partir de datos de una base de datos. Son 3 comboBox. Ejemplo: Se selecciona un Estado y a partir de este, se selecciona un Municipio y a su vez a partir de este, una Parroquia. Ya he probado de varias manera, con variables globales, pero tengo problemas al momento de obtener en tiempo real una seleccion de un ComboBox, para poder realizar otra consulta sql y llenar el siguiente comboBox.
He probado cargando cada resultado del ComboBox pero esa no es la idea, lo necesito de forma automatica.

Le agradecere muchisimo su pronta respuesta con un ejemplo! una parte decodigo por favor!
Saludos!

última edición por Luthien_Tinu el Jueves, 28 Octobre 2010, 05:22; editado 1 vez
Perfil MP  
Objetivo: 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

última edición por soplo el Jueves, 28 Octobre 2010, 04:11; editado 1 vez
Perfil MP  
Objetivo: Re: ComboBox Dinamicos Y Anidxados
Me Ayudó. Gracias!

Perfil MP  
Objetivo: Re: ComboBox Dinamicos Y Anidxados (solucionado)
Como harias una validación de los comboBox inferiores? porque por ejemplo, selecciono el 2do combobox y me un error de tal forma que debo reiniciar la maquina :S. Ya he probado preguntado si ComboBox1.text <> null antes de llamar al procedimiento pero no me resulta...
Saludos

Perfil MP  
Objetivo: Re: ComboBox Dinamicos Y Anidxados (solucionado)
Pasa tu código y se podrá ver dónde está el error.

Perfil MP  
Objetivo: Re: ComboBox Dinamicos Y Anidxados (solucionado)
Gracias por tu disposición por suerte ya funcionó. Tengo otro problema que ya mismo postearé

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1158s (PHP: -26% SQL: 126%)
Consultas SQL: 25 - Debug off - GZIP Activado