Cuadro combinado que dependa de otro cuadro combinado

Ahora pretendo hacer un cuadro combinado en el que según el valor elegido se muestren en otro cuadro combinado sólo unos resultados determinados.
Tengo dos tablas, la tabla AUTORES y la tabla OBRAS, al seleccionar un autor en el primer cuadro combinado debe de salir de manera automática en el segundo sólo sus obras, para seleccionar una.
También necesito que el segundo cuadro combinado me permita escribir y guarde en la tabla alguna obra nueva del autor, para que en otra consulta posterior salga.
Los valores seleccionados en ambas tablas los guardaré en una campo
llamado AUTOR y otro OBRA para su posterior visualización mediante un informe

1 Respuesta

Respuesta
2
Por partes.
Para que un cuadro combinado te muestre un resultado según lo que pone otro control (sea un cuadro de texto, cuadro de lista o lo que sea) te recomiendo la respuesta que le dí a otro usuario, que creo que puede ser suficiente:
http://www.todoexpertos.com/mitodoexpertos/expert/questions/view/2612867/cuadro-combinado-variable-segun-seleccion-en-una-lista
En cuanto a lo de que puedas escribir, basta con que desmarques la propiedad de limitar a la lista. Para que ese valor te lo almacene como una obra nueva de ese autor, deberías escribir algo de código en el evento Al Actualizar del cuadro combinado, para que verifiquye si ese dato está en la lista, y si no está, que lo almacene (previa confirmación por el usuario) en la tabla de donde sacas los datos.
Hola, gracias por tu respuesta.
He leído atentamente la respuesta a la que me has remitido, que me ha servido bastante, pero necesitaba un poco más de ayuda, así que antes de preguntarte nuevamente he buscado por internet y he encontrado una página de microsoft donde ponen un ejemplo basado en la base Neptuno.
He probado con mis datos y con los mismos del ejemplo y en ambos me ocurre lo siguiente:
1- Elijo la categoría en el desplegable del combo e inmediatamente me salta un cuadro de diálogo solicitándome un parámetro, referente al criterio que he establecido en la consulta ([Formularios]![Categorias y Productos]![Categoría]).
Si le introduzco un número, correspondiente al IdCategorias me hace correctamente la selección de productos que coinciden con ese parámetro, por ejemplo el 1 para bebidas y salen todas las bebidas en el segundo Combo.
Obviamente lo que quiero es que no me pida ningún parámetro si no que lo elija según los criterios establecidos y la categoría elegida.
En el combo Productos, en origen de la fila aparece esto:
SELECT Productos.IdProducto, Productos.NombreProducto FROM Productos WHERE (((Productos.IdCategoría)=[Formularios]![Categorias y Productos]![Categoría])) ORDER BY Productos.NombreProducto;
La página que he seguido de microsoft además de tu respuesta es la siguiente.
   http://office.microsoft.com/es-mx/access-help/basar-un-cuadro-combinado-en-otro-HA001173058.aspx 
Agradeceré tu ayuda nuevamente porque algo no estoy haciendo bien(o no está bien en el ejemplo de microsoft) cuando me pide el parámetro.
Gracias.
Hola, te agradeceré cualquier ayuda que me puedas prestar, si no, dímelo y cierro la pregunta.
Gracias.
Perdona por el retraso. El problema es que no tienes definido nada en tu formulario Categorías y Productos cuyo nombre sea Categoría. Como el no lo encuentra, cree que es un parámetro y te pregunta.
Asegúrate de cual es la propiedad (NOMBRE) del cuadro combinado que tu crees que se llama Categoría y que seguramente se llamará ComboBox27, por ejemplo. Ese es el valor que tienes que poner en la consulta. Por ejemplo:
SELECT Productos.IdProducto, Productos.NombreProducto FROM Productos WHERE (((Productos.IdCategoría)=[Formularios]![Categorias y Productos]![ComboBox27])) ORDER BY Productos.NombreProducto;
Gracias por responder.
He revisado a conciencia los nombres de los combos, incluso he vuelto a hacerlos nuevos, he realizado mediante el generador de eventos el procedimiento a incluir en criterios en la columna de IdCategoría de la tabla Productos de la consulta... y sigue igual, me pide el parámetro.
En origen de la fila del combo Categoría figura:   SELECT Categorías.IdCategoría, Categorías.NombreCategoría FROM Categorías;
En origen de la fila del combo Producto figura: SELECT Productos.IdProducto, Productos.NombreProducto FROM Productos WHERE (((Productos.IdCategoría)=Formularios![Categorias y Productos]!Categoría)) ORDER BY Productos.IdProducto;
  http://www.gratiszona.com/trucos/trucos_access/sincronizar_dos_cuadros_combinados_formulario.htm
Esta página ofrece lo mismo que la de microsoft, así que también la he realizado punto por punto y me ocurre lo mismo. (Bueno he cambiado el origen de la fila del 2º combo a Consulta Lista Categorías, porque no funcionaba y parecía evidente)
¿Será problema del formato access? El de el Neptuno es access 2000 y el que yo utilizo pone access 2002
En fin, ya no se que pensar, parece que no haya manera de conseguir lo que debería ser algo relativamente sencillo.
¿Alguna idea?
Gracias.
Pues lo que se me ocurre es que me la mandes y vemos: [email protected]
Avísame cuando me la hayas enviado.
Hola, acabo de enviarte la base.
Saludos.
Hola, este fin de semana he probado el código en access 2003 y resulta que funciona perfectamente, por lo tanto el fallo parece que está en la versión de office (en 2000 parece que no funciona).
Actualizaré lo antes posible a access 2003 y asunto resuelto.
En cualquier caso si has dado con la solución para que funcione en access 2000 pues sería interesante que la comentaras, si no pues dímelo igualmente y cierro la pregunta.
Muchas gracias
Ufff.
Pues casi no, porque tendría que instalar 2000 para ver que es lo que falla y si soporta los cambios. Si no te importa, lo dejamos así.
Siento el retraso en las contestaciones, pero me ha pillado una época en la que tenía que entregar un encargo.
No hay problema, ya he actualizado a 2003 y funciona a la perfección.
Como siempre muchas gracias por tu atención y hasta pronto.
Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas