¿Línea de Código Cerrar Formulario?

Tengo este código.

Private Sub Form_Open(Cancel As Integer)
Dim C As Variant
C = InputBox("Indique la Contraseña para poder ingresar.")
If C = Me.Contraseña_Autorizaciones.Value Then
  'Contraseña Correcta, sique sin problemas
  Else
  MsgBox "Contraseña Erronea"
  Form.Close ' Esta linea es la que ocupo
End If
End Sub

Solo que da el error en Form. Close, solo ocupo esta instrucción.

PD: Yo se que Form. Close no es el código correcto, solo estoy probando ideas.

Respuesta
1

El código es...

DoCmd. Close acForm, "Order Review", acSaveYes

Me costo, pero lo logre.

1 respuesta más de otro experto

Respuesta
1

Lo incluyo como respuesta ya que no estoy seguro de que si lo hago comentario te llega aviso para que lo leas.

Puedes hacerlo más fácilmente simplemente añadiendo Cancel=True si la contraseña es errónea. Con ello aplicas Cancel al evento de abrir, lo que hace que se cierre el formulario. Como se cierra 'al abrirse' no es necesario decirle que guarde nada (acSaveYes)

Fíjate cuando uses el generador en que con algunos eventos puedes usar la propiedad Cancel, lo que hace que puedas inhibir o impedir que se ejecute el evento. Por ejemplo tienes el siguiente evento:

Private Sub Form_BeforeUpdate(Cancel As Integer). Con este puedes hacer validaciones complejas en un formulario y si no se cumplen inhibir la actualización de los datos. Con Private Sub Form_BeforeInsert(Cancel As Integer) inhibes la inserción de un nuevo registro. Fíjate siempre si un evento tiene esta propiedad ya que suele ser muy útil.

Cordiales saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas