17/06/2008, 03:45
|
| | | Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 10 meses Puntos: 1 | |
Respuesta: No me cierra He tenido que volver a hacer la segunda parte del código porque después de volverlo a probar no hacía lo que quería. al hacerlo, no se cómo he conseguido arreglar lo del fallo de cerrar.
Ahora el código lo he dejado así:
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
If DCount("*", "PartesDeTrabajo", "CodigoOperario=" & IdOperario & " AND Fecha=#" & Format(Date, "mm/dd/yyyy") & "#") = 0 Then
'si no existe todavía, miramos si está terminado el registro anterior
If DCount("*", "PartesDeTrabajo", "CodigoOperario=" & IdOperario & " AND Fecha=#" & Format(Date - 1, "mm/dd/yyyy") & "# and nz(horafinal,0)=0") > 0 Then
'existe día anterior sin hora final. editamos
DoCmd.OpenForm "hora3", acNormal, , "CodigoOperario=" & IdOperario & " AND Fecha=#" & Format(Date - 1, "mm/dd/yyyy") & "# and nz(horafinal,0)=0" '=space(0)"
'cerramos el form numeros
DoCmd.Close acForm, Me.Name
Else
'no existe ni en el día anterior ni en el dia actual. Nuevo registro con fecha actual
DoCmd.OpenForm "hora3pestaña", acNormal, , , acFormAdd
Forms!hora3pestaña!CodigoOperario = IdOperario 'cerramos el form numeros
DoCmd.Close acForm, Me.Name
End If
Else
If DCount("*", "PartesDeTrabajo", "CodigoOperario=" & IdOperario & " AND Fecha=#" & Format(Date, "mm/dd/yyyy") & "# and nz(horafinal,0)=0") > 0 Then
'existe sin hora final. editamos
DoCmd.OpenForm "hora3", acNormal, , "CodigoOperario=" & IdOperario & " AND Fecha=#" & Format(Date, "mm/dd/yyyy") & "# and nz(horafinal,0)=0" '=space(0)"
'cerramos el form numeros
DoCmd.Close acForm, Me.Name
Else
'Tiene hora final. Nuevo registro con fecha actual
DoCmd.OpenForm "hora3pestaña", acNormal, , , acFormAdd
Forms!hora3pestaña!CodigoOperario = IdOperario 'cerramos el form numeros
DoCmd.Close acForm, Me.Name
End If
End If
Else
MsgBox "La contraseña introducida no corresponde a ningun empleado", vbCritical, "CONTRASEÑA ERRONEA"
End If
End Sub |