En un campo de una tabla llamado [ Zona ] puedo introducir valores que elijo
y que están en otra Tabla. Es decir mediante un Cuadro combinado elijo los
valores "Norte", "Sur", "Este" y "oeste".
Para ello en la vista Diseño de la tabla usé el "Asistente para búsquedas..."
La cuestión es que a continuación tengo otro campo llamado [ Regiones ] y
también quería tener un Cuadro combinado, y así según el valor elegido
anteriormente (en el campo anterior) debería mostrame una lista de valores.
Por ejemplo si he elejido la Zona "Norte" debe mostrarme para elegir 5
Regiones que tengo en la zona Norte, pero si elijo la Zona "Sur" deberá
mostrame 7 regiones distintas que pertenecen a la zona Sur. Y así
sucesivamente.
Pues esa es la cuestión. ¿Sabeis cómo se hace esto?. Soy bastante nuevo en
Access.
Muchas gracias.
Un saludo.
Revisa el ejemplo sobre cuadros combinados del maestro Chea:
- http://jbengoechea.com/RptCp.htm#combos
--
Un saludo,
Patxi Sanz
Tudela (NA)
Estaba mirando esos ejemplos de
http://jbengoechea.com/RptCp.htm#combos
Pero creo que no me funciona bien. Me pide que intrduzca un parámetro...,
despues no me aparece una lista de valores filtrados en el segundo cuadro
combinado. Lo que yo buscaba es muy simple pero esos ejemplos son para mi un
laberinto. No sé como están plateados y no los sé manejar, no los consigo
entender. Me pierdo.
¿Te importaría por favor mandarme algún ejemplo? Yo utlizo Access 2003. Creo
que con sólo ver un ejemplo sencillo lo entenderé.
Mi correo es el siguiente:
parain...@yahoo.es
Muchas gracias.
Recibe un saludo.
"Patxi Sanz" escribió:
La teoría de los cuadros combinados cuya lista se basa en otro cuadro
combinado (cuadros combinados en cascada), es sencilla: se trata de cambiar
la propiedad Origen de la fila del segundo cuadro combinado cada vez que se
selecciona un elemento en el primer cuadro combinado.
Por ejemplo, supongamos que tenemos 2 cuadros combinados:
- Combo1
- Combo2
El primer cuadro combinado (Combo1), tiene una única columna con los
siguientes datos:
"Norte"
"Sur"
"Este"
"Oeste"
Y queremos que el segundo cuadro combinado (Combo2) actualice su lista según
lo seleccionado en el Combo1. Y que esa lista se va a basar en la tabla
Regiones, que tiene un campo llamado Region, que es el que vamos a mostrar,
y otro campo llamado ZonaRegion, que es por el que vamos a filtrar.
Así, podemos indicar en el evento Después de Actualizar del Combo1 que
modifique la lista del Combo2:
Private Sub Combo1_AfterUpdate()
Me.Combo2.RowSource = "SELECT Region FROM Regiones WHERE ZonaRegion ='"
& Me.Combo1 & "';"
End Sub
Esta es la base: modificar la sentencia SQL o consulta a usar en el Combo2
cada vez que se modifique el Combo1. Y como siempre, se pueden agregar más
cosas:
- Que se modifique la lista cada vez que cambiemos de registro.
- Si se modifica la lista y el elemento que había en el Combo2 no existe
ahora, eliminar el texto mostrado.
- ...
Además de en la web del maestro Chea, hay más información sobre los cuadros
combinados en cascada en el grupo.
Para ello uilicé 2 tablas y un formulario con dos combos.
Y con ese [Procedimiento de evento] que me dejaste, y esas consultas que van
en el "Origen de fila" del Combo1 y Combo2, me funcionó muy bien.
¿Pero sabes si se podría hacer lo mismo en una Tabla?. Es decir no con
Combos en cascada en un formulario sino con Cuadros combinados en cascada en
una Tabla. El 1er cuadro combinado si lo sé hacer, pero el segundo que
depende del primero y que debería actualizarse, he pensado que quizá se
conseguiría con alguna Consulta que se introduciría en el diseño de la Tabla,
en pestaña "Busqueda", en "Tipo de origen de la fila" se pondría
Tabla/Consulta; y en "Origen de la fila" deberá tener alguna consulta. No sé
si se podrá hacer, se debería actualizar según lo que se introduzca en el
1er cuadro combinado. No se si a la tabla se le puede meter algún
[Procedimiento de evento] como el que puse en en Combo1 del formulario.
Me gustaría conocer tu opinión.
Muchas gracias por tu ayuda.
Recibe un saludo.
----------------------------------
"Patxi Sanz" escribió:
He vito cosas tan inverosimiles en Access, que me parece que esto no debe
ser muy complicado.
¿Has visto algún ejemplo parecido a éste?
Muchas gracias.
Un saludo.
Además, no es aconsejable que el usuario entre directamente a las tablas,
porque puede hacer cosas que no queramos. Es preferible que trabaje con
formularios, ys que estos objetos dan muchas más posibilidades de control.
Sabiendo que es difícil me concentraré mejor en otras posibilidades y otras
soluciones.
Un saludo.