Buscar en tabla por 2 campos

Estoy realizando una base de datos de control horario para mis usuarios en access muy sencilla, mi jefe no necesita más. Y me surge un problema que paso a explicar.

Tengo 3 tablas: USUARIO, ENTRADA, SALIDA

1 formulario: FICHAJE PERSONAL

En el formulario tengo un desplegable con todos los usuarios para que lo seleccione la persona que tenga que fichar, un botón de ENTRADA y SALIDA y 4 campos de texto que en uno esta la text_fecha_entrada, otro text_hora_entrada, otro text_fecha_salida y text_hora_salida. En el botón de ENTRADA tengo el siguiente código:

CurrentDb.Execute "INSERT INTO ENTRADA(NOMBRE, HORA_ENTRADA, FECHA_ENTRADA) VALUES ('" _
                    & Me.Cc_NOMBRE & "',#" _
                    & Format(Me.text_Hora_entrada, "hh:mm:ss") & "# , #" _
                    & Format(Me.text_fecha_entrada, "mm/dd/yyyy") & "# )", dbFailOnError
Me![btn_entrada].Enabled = False
Me![btn_salida].Enabled = True

En el botón de SALIDA es al revés y ataca a la otra tabla de SALIDA.

El problema que tengo es que como podéis ver el botón se desactiva para que el usuario no pueda volver a fichar. Pero cuando llega otro usuario y cambia el desplegable para seleccionar su usuario, refresco el formulario y se activa el botón otra vez. Si el que ha fichado primero vuelve a coger su usuario vuelve a tener el botón activo de ENTRADA.

Yo lo que quiero hacer es que, antes de realizar el código del botón realice una búsqueda de la fecha actual y el usuario y si ya ha fichado, le salga un msgbox que le diga que ya ha fichado en el día.

No se si me he explicado bien.

1 respuesta

Respuesta
2

Puedes usar la función de Dcount. Por ejemplo

If dcount("*","entradas","Usuario ='" & me.nombredelcombinado & "' and fechaentrada=Date()")>=1 then

msgbox"¿ Ande vas fistro de pecaooor...? Ya has fichado",vbokonly,"Señor, Señor"

exit sub 

else

lo que quieras que haga al no haber fichado

end if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas