En este tutorial, aprenderemos cómo abrir o cerrar formularios de Access usando VBA.
Abrir un formulario de acceso
Para abrir un formulario en Access, use el método DoCmd.OpenForm:
DoCmd.OpenForm "AccessForm"
Esto abrirá el formulario llamado "AccessForm":

AccessForm mostrado en el panel de navegación
Formulario abierto con criterios
Este código abrirá un formulario en Access con criterios específicos:
DoCmd.OpenForm "AccessForm", acNormal, "ID = 10"
Sintaxis de DoCmd.OpenForm
La sintaxis completa del método es:
DoCmd.OpenForm (NameOfForm, FormView, FilterName, Donde Condición, DataMode, Modo ventana, OpenArgs) dónde:
Parámetro | Descripción |
---|---|
NameOfForm | Obligatorio y es el nombre del formulario que desea abrir. |
FormView | Opcional y le permite especificar la vista del formulario. Puede ser: acDesign, acFormDS, acFormPivotChart, acFormPivotTable, acLayout, acNormal, acLayout o acPreview. El valor predeterminado es acNormal. |
FilterName | Opcional y le permite especificar el nombre de una consulta o cadena SQL para usar como filtro. |
Donde Condición | Opcional y le permite realizar una consulta de tipo where sin usar la palabra where. |
DataMode | Opcional y le permite especificar su modo de entrada de datos. Puede ser: acFormAdd, acFormEdit, acFormPropertySettings o acFormReadOnly. El valor predeterminado es acFormPropertySettings. |
Modo ventana | Opcional y establece la visualización del modo Ventana. Puede ser: acDialog, acHidden, acIcon, acWindowNormal. El valor predeterminado es acWindowNormal. |
OpenArgs | Se puede hacer referencia a opcional en macros y expresiones. |
Programación VBA | ¡Code Generator funciona para usted!
Cerrar un formulario en Access
Utilice DoCmd.Close para cerrar un formulario abierto:
DoCmd.Close acForm, "AccessForm"
Cerrar formulario y guardar
Este código de VBA se cerrará y guardará un formulario de acceso:
DoCmd.Close acForm, "AccessForm", acSaveYes
Formulario de aviso antes de cerrar
Este procedimiento le pedirá al usuario antes de cerrar un formulario:
Public Sub CloseFormWithConfirmation (FormName As String) If MsgBox ("¿Está seguro de que desea cerrar esta ventana?", VbYesNo + vbQuestion, "Confirmation") = vbYes Then DoCmd.Close acForm, FormName End If End Sub
Puedes llamarlo así:
Private Sub CloseFormWithConfirmation_Example () Llamar a CloseFormWithConfirmation ("AccessForm") End Sub
¿Cansado de buscar ejemplos de código VBA? ¡Prueba AutoMacro!
Sintaxis de DoCmd.Close
La sintaxis completa del método es:
DoCmd.Close (Tipo de objeto, Nombre del objeto, ObjectSave) dónde:
Parámetro | Descripción |
---|---|
Tipo de objeto | Opcional y este es el tipo de objeto que le gustaría cerrar. Puede ser un formulario o informe, etc. |
Nombre del objeto | Opcional y es el nombre del objeto que desea cerrar. |
ObjectSave | Opcional y se utiliza para especificar si desea guardar los cambios realizados. |