Contraseña para abrir formulario de access 2007

Quisiera saber como puedo hacer que al abrir un formulario en access 2007 me pida una contraseña. Por mi parte hice esta programación:
En el evento abrir del formulario el cual necesito abrir con contraseña en el generador de código hice esta algoritmia:
Private Sub Form_Open(Cancel As Integer)
Dim PassOk As String
Dim PassTyped As String
PassOk = "agente007"
PassTyped = InputBox("CLAVE DE ACCESSO", "Introduce la clave requerida para acceder a orientacion asistencia", "")
If PassTyped <> PassOk Then
MsgBox "La clave de acceso no es valido"
DoCmd.Quit
Else
Plataformapsicoorientacion. Show (esta parte no entiendo como debo programarla, puesto que no se como invocar para abrir el formulario)
Cancel = -1
End If
End Sub
Por favor ayudame es que no se ya como programar esta vaina. Ya lo he intentado de varias formas y no he podido.
Respuesta
1
Lo primero es que este tipo de restricciones es mejor colocarlas en un evento anterior al de la propia apertura, ya allí estás ya abriendo el formulario.
Lo ideal es que tengas un botón en un formulario base que sea para abrir el formulario protegido y en el evento "Al hacer click" escribas algo como esto, tomado de tu propio código:
Private Sub Form_Open(Cancel As Integer)
Dim PassOk As String
Dim PassTyped As String
PassOk = "agente007"
PassTyped = InputBox("CLAVE DE ACCESSO", "Introduce la clave requerida para acceder a orientacion asistencia", "")
If PassTyped <> PassOk Then
       MsgBox "La clave de acceso no es valido"
       Exit sub
Else
      Docmd. OpenForm "Plataformapsicoorientacion"
End If
End Sub
Muchas gracias, que ayuda tan grande, y quisiera ademas saber como dentro de esta programación puedo hacer que se cierra automáticamente la ventana del formulario donde esta el botón de la clave cuando este se digite correctamente, ya que en Propiedades - Otros - Emergente - Si para que me salga como una ventana emergente, este me cierre como te digo automáticamente.
Gracias
OK,
Suponiendo que el formulario donde tienes el botón se llame FPRINCIPAL (tu le pones el nombre real. El código quedaría así:
Private Sub Form_Open(Cancel As Integer)
Dim PassOk As String
Dim PassTyped As String
PassOk = "agente007"
PassTyped = InputBox("CLAVE DE ACCESSO", "Introduce la clave requerida para acceder a orientacion asistencia", "")
If PassTyped <> PassOk Then
       MsgBox "La clave de acceso no es valido"
       Exit sub
Else
      Docmd. OpenForm "Plataformapsicoorientacion"
      DoCmd.Close acForm, "FFPRINCIPAL"
End If
End Sub

1 respuesta más de otro experto

Respuesta
1
A primera vista, debes de sacar el Cancel= -1, puesto que asignas que verdadero la cancelación de la orden anterior.
Por otra parte, supongo que si abres el formulario de acceso en modo modal, no te dejará abrir el siguiente, por lo que yo pondría:
If PassTyped <> PassOk Then
MsgBox "La clave de acceso no es valido"
DoCmd.Quit
Else
me.visible=false
Plataformapsicoorientacion.show 1
End If
Pruébalo y me comentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas