Cuadros combinados dependientes

Tengo una duda sobre cuadros combinados en access.
Se que se ha escrito mucho sobre el tema y he mirado muchos foros como hacerlo.
Incluso he encontrado una página en la que lo explica paso a paso
"http://office.microsoft.com/es-mx/access-help/basar-un-cuadro-combinado-en-otro-HA001173058.aspx"
Pero sigue sin salirme lo que quiero.
Quiero que en un cuadro combinado se cargue con los datos que dependen de otro cuadro combinado.
Dependiendo del proyecto seleccionado se cargen unos códigos de hitos.
Tabla hito tiene los siguientes campos: código, proyecto.
1) Nombre del cuadro combinado 1:ProyectoSeleccionado.
2)Origen de datos cuadro combinado 2: Consulta
En dicha consulta tengo:
SELECT Hito.CODIGO, Hito.PROYECTO
FROM Hito
WHERE (((Hito.PROYECTO)=[Forms]![Gestion_Entregables]![ProyectoSeleccionado]));
*Gestion_Entregables: como se llama mi formulario.
¿Qué tengo mal?

2 respuestas

Respuesta
1
En principio no tienes nada mal pero... ¿recalculas el segundo cuadro combinado en cada cambio del primero?
Me! Segundocuadro. Requery
En el evento AfterUpdate del primer cuadro combinado y, opcionalmente, en el evento Current del formulario.
Al simplificar la bases de datos, se ha solucionado. Pero lo ultimo no lo logro.
He puesto en propiedades ->eventos->after update se me ha abierto la típica hoja de código y he escrito la misma consulta:
-----------------------------------------------------------------------------------------------------------
Option Compare Database
Private Sub ProyectoSeleccionado_AfterUpdate()
SELECT Hito.Codigo FROM Hito WHERE (((Hito.Proyecto)=[Forms]![FormularioPPAL]![ProyectoSeleccionado]));
End Sub
--------------------------------------------------------------------------------
La select aparece en rojo y me sale una ventana de error de codigo case. ¿Tendría qué añadir algo más? ¿Se escribe distinto?
Tendría también supongo que añadir lo del refresh que me decías.
No puedes escribir eso directamente: es lenguaje SQL y Access, así a pelo, no lo entiende.
Si el segundo cuadro combinado ya tiene esa SQL como origen del control, te basta con un simple:
Me! Elsegundocuadrocombinado. Requery
Si no lo tuviera, podrías meter esa SQL en una cadena de texto y pasarla como origen de la fila
Private Sub ProyectoSeleccionado_AfterUpdate()
Me!elsegundocuadrocombinado.RowSource = "SELECT Hito.Codigo FROM Hito WHERE (((Hito.Proyecto)=[Forms]![FormularioPPAL]![ProyectoSeleccionado]));"
End Sub
Respuesta
En el cuadro combinado ProyectoSeleccionado ¿has puesto en la acción Al hacer clic ---> Procedimiento de evento ---> Me. Refresh? Es para que actualice y tome el valor que has elegido en el cuadro combinado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas