Access - COMBOBOX

 
Vista:

COMBOBOX

Publicado por DAGOBERTO VENTURA (5 intervenciones) el 25/09/2006 21:24:28
Tengo una base de datos en Access de los departamentos de honduras
Con las siguientes tablas y su id
Departamentos id_depto
Municipios id_municipio
Aldeas id_aldea
Caseríos id_caserio
Barrios y colonias id_colonia
todas relacionadas entre si

Tengo un formulario donde tengo varios combox donde me desplega los datos de cada tabla
Los combox son:
Departamento
Municipio
Aldea
Caserio
Colonia
Tengo definidos ya los filtros que cuando selecciono en el combo de departamento y un registro (ejemplo el depto de Choluteca) en el combo de municipio solo me aparecen los registros de los municipios que pertenecen a Choluteca y cundo selecciono un municipio en el combox de municipio solo me aparecen las aldeas que pertenecen a ese municipio

Mi pregunta es como hacer el combos de caseríos y colonias

Los filtros están origen de fila
Combo municipio origen de fila
SELECT DISTINCTROW municipios.id_municipio, municipios.nombre, municipios.id_depto FROM municipios WHERE (((municipios.id_depto)=Formularios!generales!departamento));
Combo aldea origen de fila
ELECT DISTINCTROW aldeas.id_aldea, aldeas.NOMBRE, aldeas.id_municipio FROM aldeas WHERE (((aldeas.id_municipio)=[Formularios]![generales]![municipio])) OR (((aldeas.id_municipio) In (SELECT DISTINCTROW aldeas.id_municipio FROM municipios WHERE (((municipios.id_depto)=[Formularios]![generales]![departamento]));)) AND ((nz([Formularios]![generales]![municipio]))=0));
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Filtros dependientes para Caseríos y Colonias en formulario

Publicado por Alejandro (4142 intervenciones) el 26/07/2023 00:02:45
Para filtrar los combos de caseríos y colonias en función de las selecciones previas de los combos de departamento, municipio y aldea, necesitarás seguir una lógica similar a la que ya has utilizado en los combos anteriores. A continuación, te muestro cómo puedes hacerlo:

1. Combo Caseríos - Origen de fila:
1
2
3
SELECT DISTINCTROW caserios.id_caserio, caserios.nombre, caserios.id_aldea
FROM caserios
WHERE (((caserios.id_aldea)=[Forms]![generales]![aldea])) OR (((caserios.id_aldea) In (SELECT DISTINCTROW aldeas.id_aldea FROM aldeas WHERE (((aldeas.id_municipio)=[Forms]![generales]![municipio])))) AND ((NZ([Forms]![generales]![aldea],0))=0));
Explicación: Este origen de fila para el combo de caseríos filtra los caseríos basándose en la selección del combo de aldeas (id_aldea). Si no se ha seleccionado ninguna aldea (es decir, el valor de [Forms]![generales]![aldea] es nulo), se mostrarán todos los caseríos del municipio actual (basado en [Forms]![generales]![municipio]). Si se ha seleccionado una aldea específica, solo se mostrarán los caseríos de esa aldea.

2. Combo Colonias - Origen de fila:
1
2
3
SELECT DISTINCTROW colonias.id_colonia, colonias.nombre, colonias.id_municipio
FROM colonias
WHERE (((colonias.id_municipio)=[Forms]![generales]![municipio])) OR (((colonias.id_municipio) In (SELECT DISTINCTROW aldeas.id_municipio FROM aldeas WHERE (((aldeas.id_municipio)=[Forms]![generales]![municipio])))) AND ((NZ([Forms]![generales]![municipio],0))=0);
Explicación: Este origen de fila para el combo de colonias filtra las colonias basándose en la selección del combo de municipio (id_municipio). Si no se ha seleccionado ningún municipio (es decir, el valor de [Forms]![generales]![municipio] es nulo), se mostrarán todas las colonias del departamento actual (basado en [Forms]![generales]![departamento]). Si se ha seleccionado un municipio específico, solo se mostrarán las colonias de ese municipio.

Con estas consultas, los combos de caseríos y colonias deberían filtrarse correctamente en función de las selecciones realizadas en los combos de departamento, municipio y aldea. Asegúrate de que los nombres de los combos y campos de las tablas coincidan con los utilizados en las consultas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar