Combos en cascada Ayuda!!!
Publicado por David (7 intervenciones) el 13/03/2009 09:30:32
Hola
Estoy haciendo una aplicacion donde necesito relacionar 3 combobox uno es Comunidad Autonoma, otro Provincia y el otro Municipio. Lo que necesito es que dependiendo de la Comunidad Autonoma la lista de Provincias varie, y dependiendo de la provincia elegida varie la lista de Municipios. He estado haciendo muchas pruebas pero no consigo hacerme con la solucion.
Las tablas donde busco las CCAA, provincias y municipios tienen la siguiente estructura.
CCAA:
comunidad_autonoma Numero
identificacion Texto
Provincia:
cdprovincia Numero
denominacion Texto
comunidad_autonoma Numero
Municipio:
cdmunicipio Numero
denominacion Texto
cdprovincia Numero
comunidad_autonoma Numero
Las selects que he utilizado en los combo box son las siguientes:
CCAA: Esta funciona sin problemas...
SELECT Comunidad_Autonoma.comunidad_autonoma, Comunidad_Autonoma.identificacion FROM Comunidad_Autonoma ORDER BY [identificacion];
Provincia: Esta funciona pero solo en consultas independientes no en el formulario ¿?
SELECT DISTINCTROW PROVINCIAS.denominacion, PROVINCIAS.cdprovincia FROM PROVINCIAS WHERE (((PROVINCIAS.comunidad_autonoma)=Formularios!Persona!txtccaapart));
Municipio: Esta funciona pero solo en consultas independientes no en el formulario ¿?
SELECT MUNICIPIOS_INE.denominacion, MUNICIPIOS_INE.cdmunicipio FROM MUNICIPIOS_INE WHERE (((MUNICIPIOS_INE.cdprovincia)=[provincia])) ORDER BY MUNICIPIOS_INE.denominacion;
He probado con diferentes funciones:
Private Sub txtccaa_AfterUpdate()
[txtProvincia] = Null
[txtProvincia].Requery
[txtPoblacion] = Null
[txtPoblacion].Requery
End Sub
Private Sub txtprovincia_AfterUpdate()
[txtPoblacion] = Null
[txtPoblacion].Requery
End Sub
Estas las ponia parecida en un monton de ejemplos pero a mi no me funcionan, al cambiar la comunidad autonoma, pasa por este codigo pero luego cuando le doy al campo de provincia para que me salgan las provincias de la C.A. No me sale ningun dato, el combo box se desplega sin valores... ¿? No se ...
Tambien he probado esto :
Private Sub txtccaapart_AfterUpdate()
Me.txtProvincia.RowSource = "SELECT DISTINCTROW PROVINCIAS.denominacion, PROVINCIAS.cdprovincia FROM PROVINCIAS WHERE PROVINCIAS.comunidad_autonoma=" & Me.txtccaapart.Value
Me.txtProvincia.Requery
End Sub
y esto:
Private Sub txtccaapart_AfterUpdate()
Me!txtProvincia!RowSource = "SELECT DISTINCTROW PROVINCIAS.denominacion, PROVINCIAS.cdprovincia FROM PROVINCIAS WHERE PROVINCIAS.comunidad_autonoma=" & Me!txtccaapart!Value
Me.txtProvincia.Requery
End Sub
Pero tampoco funciona.... Ya no se por donde continuar ni que mas probar.... A lo mejor es que en access 2003 esto no funciona asi, pero al final es un poco frustrante....
Gracias
Estoy haciendo una aplicacion donde necesito relacionar 3 combobox uno es Comunidad Autonoma, otro Provincia y el otro Municipio. Lo que necesito es que dependiendo de la Comunidad Autonoma la lista de Provincias varie, y dependiendo de la provincia elegida varie la lista de Municipios. He estado haciendo muchas pruebas pero no consigo hacerme con la solucion.
Las tablas donde busco las CCAA, provincias y municipios tienen la siguiente estructura.
CCAA:
comunidad_autonoma Numero
identificacion Texto
Provincia:
cdprovincia Numero
denominacion Texto
comunidad_autonoma Numero
Municipio:
cdmunicipio Numero
denominacion Texto
cdprovincia Numero
comunidad_autonoma Numero
Las selects que he utilizado en los combo box son las siguientes:
CCAA: Esta funciona sin problemas...
SELECT Comunidad_Autonoma.comunidad_autonoma, Comunidad_Autonoma.identificacion FROM Comunidad_Autonoma ORDER BY [identificacion];
Provincia: Esta funciona pero solo en consultas independientes no en el formulario ¿?
SELECT DISTINCTROW PROVINCIAS.denominacion, PROVINCIAS.cdprovincia FROM PROVINCIAS WHERE (((PROVINCIAS.comunidad_autonoma)=Formularios!Persona!txtccaapart));
Municipio: Esta funciona pero solo en consultas independientes no en el formulario ¿?
SELECT MUNICIPIOS_INE.denominacion, MUNICIPIOS_INE.cdmunicipio FROM MUNICIPIOS_INE WHERE (((MUNICIPIOS_INE.cdprovincia)=[provincia])) ORDER BY MUNICIPIOS_INE.denominacion;
He probado con diferentes funciones:
Private Sub txtccaa_AfterUpdate()
[txtProvincia] = Null
[txtProvincia].Requery
[txtPoblacion] = Null
[txtPoblacion].Requery
End Sub
Private Sub txtprovincia_AfterUpdate()
[txtPoblacion] = Null
[txtPoblacion].Requery
End Sub
Estas las ponia parecida en un monton de ejemplos pero a mi no me funcionan, al cambiar la comunidad autonoma, pasa por este codigo pero luego cuando le doy al campo de provincia para que me salgan las provincias de la C.A. No me sale ningun dato, el combo box se desplega sin valores... ¿? No se ...
Tambien he probado esto :
Private Sub txtccaapart_AfterUpdate()
Me.txtProvincia.RowSource = "SELECT DISTINCTROW PROVINCIAS.denominacion, PROVINCIAS.cdprovincia FROM PROVINCIAS WHERE PROVINCIAS.comunidad_autonoma=" & Me.txtccaapart.Value
Me.txtProvincia.Requery
End Sub
y esto:
Private Sub txtccaapart_AfterUpdate()
Me!txtProvincia!RowSource = "SELECT DISTINCTROW PROVINCIAS.denominacion, PROVINCIAS.cdprovincia FROM PROVINCIAS WHERE PROVINCIAS.comunidad_autonoma=" & Me!txtccaapart!Value
Me.txtProvincia.Requery
End Sub
Pero tampoco funciona.... Ya no se por donde continuar ni que mas probar.... A lo mejor es que en access 2003 esto no funciona asi, pero al final es un poco frustrante....
Gracias
Valora esta pregunta


0