Tema: No me cierra
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/06/2008, 03:45
Avatar de Koudelka
Koudelka
 
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
__________________
Cámara Oscura
Etheria