Acessar VBA - Abrir / Fechar Formulário

Neste tutorial, aprenderemos como abrir ou fechar formulários do Access usando o VBA.

Abrindo um formulário de acesso

Para abrir um formulário no Access, use o método DoCmd.OpenForm:

DoCmd.OpenForm "AccessForm"

Isso abrirá o formulário denominado “AccessForm”:

AccessForm mostrado no painel de navegação

Formulário aberto com critérios

Este código abrirá um formulário no Access com critérios específicos:

DoCmd.OpenForm "AccessForm", acNormal,, "ID = 10"

Sintaxe DoCmd.OpenForm

A sintaxe completa do método é:

DoCmd.OpenForm (NameOfForm, FormView, FilterName, WhereCondition, DataMode, Modo janela, OpenArgs) Onde:

Parâmetro Descrição
NameOfForm Obrigatório e é o nome do formulário que você deseja abrir.
FormView Opcional e permite que você especifique a visualização do formulário. Pode ser: acDesign, acFormDS, acFormPivotChart, acFormPivotTable, acLayout, acNormal, acLayout ou acPreview. O padrão é acNormal.
FilterName Opcional e permite que você especifique o nome de uma consulta ou string SQL para usar como um filtro.
WhereCondition Opcional e permite que você conduza uma consulta do tipo where sem usar a palavra where.
DataMode Opcional e permite que você especifique o modo de entrada de dados. Pode ser: acFormAdd, acFormEdit, acFormPropertySettings ou acFormReadOnly. O padrão é acFormPropertySettings.
Modo janela Opcional e define a exibição do modo Janela. Pode ser: acDialog, acHidden, acIcon, acWindowNormal. O padrão é acWindowNormal.
OpenArgs Opcional pode ser referido em macros e expressões.

Programação VBA | O Code Generator funciona para você!

Fechar um formulário no Access

Use DoCmd.Close para fechar um formulário aberto:

DoCmd.Close acForm, "AccessForm"

Fechar formulário e salvar

Este código VBA fechará e salvará um formulário do Access:

DoCmd.Close acForm, "AccessForm", acSaveYes

Formulário de Avisar Antes de Fechar

Este procedimento avisará o usuário antes de fechar um formulário:

Public Sub CloseFormWithConfirmation (FormName As String) If MsgBox ("Tem certeza que deseja fechar esta janela?", VbYesNo + vbQuestion, "Confirmation") = vbYes Then DoCmd.Close acForm, FormName End If End Sub

Você pode chamá-lo assim:

Private Sub CloseFormWithConfirmation_Example () Chamar CloseFormWithConfirmation ("AccessForm") End Sub

Cansado de procurar exemplos de código VBA? Experimente o AutoMacro!

Sintaxe DoCmd.Close

A sintaxe completa do método é:

DoCmd.Close (Tipo de objeto, ObjectName, ObjectSave) Onde:

Parâmetro Descrição
Tipo de objeto Opcional e este é o tipo de objeto que você gostaria de fechar. Pode ser um formulário ou relatório, etc.
ObjectName Opcional e é o nome do objeto que você deseja fechar.
ObjectSave Opcional e é usado para especificar se você deseja salvar as alterações feitas.
wave wave wave wave wave