Consulta SQL dentro de formulario

He tenido un error con una consulta que hasta ahora no me había pasado y quería ver si a alguien se le ocurre una posible causa.
Tengo un formulario con desplegable que me muestra una lista de productos de una tabla. La primera vez que lo use funciono, pero a partir del segundo registro, la lista sale en blanco.
Si pincho en VISTA DISEÑO, y luego vuelvo a la vista normal, me devuelve al primer registro, y avanzo hasta el registro en el que estaba trabajando y ya funciona. ¿A qué puede deberse esto?
La consulta del desplegable es esta:

SELECT [StkNFungible].[Id_Producto], [StkNFungible].[Nombre]

FROM StkNFungible

WHERE ((StkNFungible.Id_Grupo)=forms!Cesión!Id_Grupo And StkNFungible.Uso=False) ORDER BY [Nombre];

En el mismo formulario hay otros dos desplegables. En uno yo elijo un departamento, en el otro me tienen que salir los empleados de ese departamento (el objetivo en general es asignar un producto a un empleado).
Pero es que, elija el departamento que elija, siempre me sale la lista de empleados del mismo departamento (que curiosamente es el departamento que elegí en el primer registro cuando empece a usarlo).
La consulta del desplegable es esta:
SELECT [Empleado].[DNI], [Empleado].[Nombre]

FROM Empleado

WHERE ((Empleado.Id_Depart)=[forms]![Cesión]![Departamento])

ORDER BY [Nombre];

La cuestión es que ya he hecho este tipo de cosas antes y jamas me había pasado esto. ¿A alguien se le ocurre a que puede deberse? ¿Puede ser que el problema este en las relaciones?

1 respuesta

Respuesta
1

Puedes probar a añadir en cada combo, en el evento al entrar, este procedimiento:

Me. NombreDelCombo. Requery

De modo que cada vez que entres, se te recalcule la consulta en la que se basa con los datos del registro activo del formulario.

Evidentemente, tienes que cambiar NombreDelCombo, por el de cada uno en que pongas el código.

No había hecho un requery nunca. El procedimiento seria este?

Pinchamos en el como-->hoja de propiedades-->Eventos-->Al entrar--Generador de Expresiones.

Y una vez dentro escribir :

Private Sub Cuadro_combinado14_Enter()

Me.Cuadro_combinado14.Requery

End Sub

Cerramos la ventana del Visual y ya debería funcionar, correcto? O hay algo mal?

Luego lo mismo con el segundo combo.

Correcto, ese es el procedimiento.

A ver si así se te resuelve el problema

Disculpa mi insistencia compañero. Es en Generador de Expresiones o en Generador de codigo?

Generador de código, para que te abra el vba

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas