Eventos en access

Normalmente trabajo en SQL aunque tengo realizado ya múltiples BD en Access pero nunca se me planteo esta situación:
Tengo un formulario basado en una consulta en el cual se introducen los datos del trabajo realizado por cada operario a lo largo del día.
Por defecto un operario pertenece a un turno (dato que se almacena en la tabla de empleados), por lo que el trabajo que realiza normalmente será en ese turno pero no siempre, por lo que es necesario tener en la tabla de actividades también el campo turno.
Ahora me piden que por defecto cuando rellenan el formulario, les aparezca el turno de forma automática al seleccionar el operario, pero siempre se ha de poder cambiar (sin afectar a la tabla de empleados). Lo he intentado mediante el generador de expresiones, colocándolo en los distintos eventos, pero siempre me dice "que no conoce la macro" cuando no es una macro, si no una expresión.
¿Cómo conseguir que al seleccionar el empleado, asigne de forma provisional el turno de la tabla de empleados, al turno de la tabla de actividades?
¿Sabes dónde conseguir un manual avanzado de Access en intenet? Me refiero a realmente a access avanzado con explicaciones de macros, eventos, visual basic, etc. No manuales que se consideran avanzados siendo en realizada de nivel medio, pues de eso hay mucho.

1 respuesta

Respuesta
1
El campo turno, en el formulario de carga, debe tener la siguiente instrucción, en el evento: Al recibir el enfoque:
Private Sub turno_GotFocus()
Dim valtur As String
valtur = DLookup("turno", "Empleados", "idoperario=" & Me.idoper)
Me.turno = valtur
End Sub
Donde:
Turno: es el nombre del campo de la tabla Actividades
Empleados: es el nombre de la Tabla a donde va a buscar el dato del turno
Idoperario: es el nombre de la clave en la tabla Empleados
Idoper: es el nombre de la clave en la tabla Actividades.
De esta manera te muestra el turno pero el usuario puede escribir encima otra cosa.
Probálo y si todo anda OK agradeceré no olvides finalizar la consulta.
Un saludo
Elsa
PD) Con respecto a los manuales, todos son de la calidad que mencionas, en Access y las demás aplicaciones. Lo mejor es ver paso a paso la base Neptuno que viene en la Ayuda del programa o ver la página de soporte (en español) del producto en:
http://support.microsoft.com/
Muchas gracias.
Solo un detalle por si alguien ve esta pregunta es necesario consultar antes que este cubierto el campo empleado y no lo este el de turno (para no cambiar siempre el valor)
"If IsNull(Me.TURNO) And Not IsNull(Me.IdEmpleado) Then"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas