Tema: No me cierra
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/06/2008, 03:19
Avatar de Koudelka
Koudelka
 
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 3 meses
Puntos: 1
No me cierra

Veamos, hace tiempo postee sobre un formulario de una contraseña en la que si era correcta me abría el formulario sino salía un mensaje. He tenido que modificar ese código para que me abriese un formulario u otro dependiendo del caso. Funciona correctamente (por lo poco que he probado), el problema es que en un caso no me cierra lo que es el formulario de la contraseña (llamado numeros2), en el que tiene el siguiente código en el botón de aceptar (creo que falla en lo marcado en rojo):

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
'hay registros en el día actual
If DCount("*", "PartesDeTrabajo", "CodigoOperario=" & IdOperario & " AND Fecha=#" & Format(Date, "mm/dd/yyyy") & "# and nz(horafinal,0)=0") > 0 Then
DoCmd.OpenForm "hora3", acNormal, , "CodigoOperario=" & IdOperario & " AND Fecha=#" & Format(Date, "mm/dd/yyyy") & "# and nz(horafinal,0)=0" '=space(0)"
Else
DoCmd.OpenForm "hora3pestaña", acNormal, , , acFormAdd
Forms!hora3pestaña!CodigoOperario = IdOperario
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