Formulario Access País-Provincia-Ciudad

Quiero diseñar uno que cumpla la siguiente especificación:
Cuando selecciono el país, me debe aparecer de forma automática la lista de las provincias de ese país, y cuando elijo la provincia debe desplegarse en otro boxlist la lista de las ciudades de tal provincia, y... Cuando selecciono tal ciudad me muestre de manera automática la lista de los colegios que existen en esa ciudad...
Es parecido al llenado del formulario cuando uno quiere obtener una cuenta de correo. Pero esta como ven esta compuesta de varios campos:
País---> provincia--->ciudad---->colegio!
He llegado solo al segundo nivel, y no tengo una idea clara de como llegar al "colegio". Les estaré agradecida por alguna respuesta (esta vez sin demora!), Nos estamos leyendo... Un gran saludo a todos ustedes.

1 Respuesta

Respuesta
1
Debes crear las tablas de países, provincias, ciudades y colegios. Cada una de ellas con una clave asignada (p.e. La tabla país tenga 2 campos: idpais, nombre donde idpais sea autonumérico).
Luego vas a relaciones, agregar tablas, agregas todas
Armas la relación de Países -> provincias -> ciudades ->colegios.
El asistente para formularios, arma los listbox de la forma adecuada.
Saludos. Jorge
Hola Jorge, muchas gracias por tu respuesta, ya lo he intentado y no me ha dado resultado. Quizá pueda explicarme mejor esta vez. Veamos...
1-Tenemos tres países: --> Alemania - Brasil - Colombia
2- Alemania tiene por decir dos Provincias o Estados: ---> Munich - Berlin
     Brasil tendrá tres registros similares: ---> Brasilia - Rio de Janeiro - Sao Paolo.
     Y Colombia tendrá como provincias a: ---> Bogotá - Cali - Medellín
3- Ahora en ALEMANIA
    MUNICH tiene 3 Universidades BERLIN tiene 2 iversidades
    -- Munich_1                                                               --Berlin_1
    -- Munich_2                                                              --Berlin_2
     -- Munich_3
Ahora en BRASIL
- BRASILIA tiene 2 -RIO DE JANEIRO tiene 1 -SAO PAULO tiene 2
    --Brasilia_1                                   --Rio_1                              -Sao_1
    --Brasilia_2                                                                            -Sao_2
    Y en COLOMBIA:
     - BOGOTÁ tiene 2 - CALI tiene 2 MEDELLIN tiene 2
      -Bogota_1                                      -Cali_1                                -Medellin_1
      -Bogota_2                                      -Cali_2                                -Medellin_2
Y se podría continuar desplegando a cada Universidad las Facultades que tiene... también los profesores nombrados etc... Pero la idea es la misma, como realizar un diseño en "arbol", de tal modo que al momento de llenar el formulario de "alumnos" pertenecientes a estos tres países, pueda hacerlo de forma automática seleccionando el "Pais" que puede ser colombia y que al hacer esto me despliegue un LIST Box con las Provincias de Colombia, y que después de hacer la selección "Medellin", se desplieque nuevamente una LIST pero esta vez con las Universidades que existen en Medellin, por ejemplo que el alumno pertenezca a "Medellin_2".
Si alguien sabe como hacer esto por favor brindeme ese apoyo. Gracias nuevamente Jorge y a todos los que se puedan interesar en este post. Nos estamos leyendo.
Procedimiento Manual:
1) Armas las tablas de forma tal que c/u tenga un campo numérico (o autonumérico) que sea clave.
Ej: Tabla Países [ idpais (autonumerico, clave) - Pais (texto)]
              Provincia [ idpais (numerico) - idprovincia (autonumerico) -  provincia (texto)]
              etc...
2) Armá un formulario en vista diseño. Inserta un listbox que tome los datos de la tabla país. Sin cerrar, crea una consulta en modo diseño, inserta la tabla provincia, inserta todos los campos. En el criterio del campo idpais (debe estar en la tabla provincia) coloca:
[Formularios]![Formulario1]![Lista0]
(Supongo que lista0 es el primer listbox que creaste, el de selección del país)
Cierra la consulta y grabala como consulta1
Regresa al formulario y crea un segundo listbox, lista1 y como origen toma los resultados de la consulta1.
Luego selecciona la lista0, haz click derecho en generar evento, y en el proc de cambio del lista0
Colocas el código:
    Private Sub Lista0_BeforeUpdate(Cancel As Integer)
            Lista1.Requery
    End Sub  
Graba y prueba.
Te explico: cuando haces click y cambias un valor de la lista0 (la lista de países) el código requery le dice a la lista1 que ejecute la consulta1 que le da origen y calcula las provincias que pertenecen al país seleccionado.
Este procedimiento lo repites para cada listbox que quieras relacionar...
Nota: Para evitar el procedimiento de las consultas:
La consulta1 es una consulta SQL del tipo
SELECT provincia.idpais, provincia.idprovincia, provincia.provincia
FROM provincia
WHERE (((provincia.idpais)=[Formularios]![Formulario1]![Lista0]));
Luego en el código, puedes hacer:
    Private Sub Lista0_BeforeUpdate(Cancel As Integer)
             Lista1.RowSource = "SELECT provincia.idpais, provincia.idprovincia, provincia.provincia FROM provincia WHERE (((provincia.idpais)=[Formularios]![Formulario1]![Lista0]));"
             Lista1.Requery
    End Sub
De esta manera no tienes que mantener la consulta1 y el código de la misma queda dentro del formulario.-
Saludos. Jorge

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas