28/03/2008, 04:19
|
| | | Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 9 meses Puntos: 1 | |
Re: Listado Veamos, yo tengo el formulario numeros2 en el que introduzco una contraseña y al darle al botón acepar me lleva a horas3. En el botón del primer formulario tengo puesto lo siguiente:
Private Sub CmdAceptar_Click()
Dim IdOperario As Long
IdOperario = Nz(DLookup("CodigoOperario", "operario2", "clave=" & Me.Txtclave), 0)
'Comprobamos si existe la clave introducida
If IdOperario <> 0 Then
'comprobamos si hay algun registro para este operario en la tabla Partes de tarbajo para
'La fecha actual, si existe abrimos el registro, si no abrimos uno nuevo
If DCount("*", "PartesDeTrabajo", "CodigoOperario=" & IdOperario & " AND Fecha=#" & Format(Date, "mm/dd/yyyy") & "#") > 0 Then
DoCmd.OpenForm "hora3", acNormal, , "CodigoOperario=" & IdOperario & " AND Fecha=#" & Format(Date, "mm/dd/yyyy") & "#"
'cerramos el form numeros
DoCmd.Close acForm, Me.Name
Else
DoCmd.OpenForm "hora3", acNormal, , , acFormAdd
Forms!hora3!CodigoOperario = IdOperario
'Forms!hora!fecha = Date'Esta no hace falta ya que tienes en la tabla Partes de trabajo
'El campo fecha con valor predeterminado la fecha actual
'cerramos el form numeros
DoCmd.Close acForm, Me.Name
End If
Else
MsgBox "La contraseña introducida no corresponde a ningun empleado", vbCritical, "CONTRASEÑA ERRONEA"
End If
End Sub
Ahora bien. Tengo un CodigoOperario en horas3 oculto, pero lo he puesto visible y sigue dando el mismo error. El caso es que si entro directamente a horas3 (sin poner la contraseña), me sale el msgbox que he puesto con el número 13 (CodigoOperario), pero me fijo en el campo CodigoOperario y me sale 14 (el operario al que le corresponde la ficha que estoy viendo, así que en el mensaje tendría que salir 14 y no 13) |