Compartilhar via


Ação da macro AbrirFormulário

Aplica-se ao: Access 2013, Office 2013

Você pode usar a ação OpenForm para abrir um formulário no modo de exibição formulário, exibição design, visualização de impressão ou folha de dados. Você pode selecionar a entrada de dados e os modos de janela para o formulário e restringir os registros que o formulário exibe.

Setting

A ação OpenForm tem os seguintes argumentos.

Argumento da ação

Descrição

Nome do Formulário

O nome do formulário a ser aberto. A caixa Nome do Formulário na seção Argumentos de Ação do painel Construtor de Macro mostra todos os formulários no banco de dados atual. Este é um argumento obrigatório. Se você executar uma macro que contém a ação OpenForm em um banco de dados de biblioteca, o Microsoft Access primeiro procurará o formulário com esse nome no banco de dados da biblioteca e, em seguida, no banco de dados atual.

View

A exibição na qual o formulário será aberto. Clique em Formulário, Design, Visualização de Impressão, Folha de Dados, Tabela Dinâmica ou Gráfico Dinâmico na caixa Exibição . O padrão é Formulário.

OBSERVAÇÃO: a configuração de argumento Exibir substitui as configurações das propriedades DefaultView e ViewsAllowed do formulário. Por exemplo, se a propriedade ViewsAllowed de um formulário estiver definida como Datasheet, você ainda poderá usar a ação OpenForm para abrir o formulário no modo de exibição Formulário.

Nome do Filtro

Um filtro que restringe ou classifica os registros do formulário. Você pode digitar o nome de uma consulta existente ou de um filtro que foi salvo como consulta. No entanto, a consulta deve incluir todos os campos no formulário que você está abrindo ou ter sua propriedade OutputAllFields definida como Sim.

Condição Where

Uma cláusula SQL WHERE válida (sem a palavra WHERE) ou expressão que o Access usa para selecionar registros na tabela ou consulta subjacente do formulário. Se você selecionar um filtro com o argumento Nome do Filtro, o Access aplicará essa cláusula WHERE aos resultados do filtro. Para abrir um formulário e restringir seus registros àqueles especificados pelo valor de um controle em outro formulário, use a seguinte expressão: [fieldname] = Forms![formname]! [nome do controle em outro formulário] Substitua fieldname pelo nome de um campo na tabela subjacente ou consulta do formulário que você deseja abrir. Substitua formname e controlname em outro formulário pelo nome do outro formulário e o controle no outro formulário que contém o valor que você deseja que os registros no primeiro formulário correspondam.

OBSERVAÇÃO: o comprimento máximo do argumento Where Condition é de 255 caracteres. Se você precisar inserir uma cláusula SQL WHERE mais complexa por mais tempo do que isso, use o método OpenForm do objeto DoCmd em um módulo VBA (Visual Basic for Applications). É possível inserir instruções de cláusulas SQL WHERE de até 32.768 caracteres no VBA.

Modo de Dados

O modo de entrada de dados para o formulário. Isso se aplica apenas aos formulários abertos no modo Formulário ou no modo Folha de Dados. Clique em Adicionar (o usuário pode adicionar novos registros, mas não pode editar os existentes), Editar (o usuário pode editar os registros existentes e adicionar novos) ou Somente Leitura (o usuário só pode exibir registros). O padrão é Editar. Anotações

  • A configuração do argumento Modo de Dados substitui as configurações das propriedades AllowEdits, AllowDeletions, AllowAdditions e DataEntry do formulário. Por exemplo, se a propriedade AllowEdits de um formulário estiver definida como No, você ainda poderá usar a ação OpenForm para abrir o formulário no modo Editar.

  • Se você deixar esse argumento em branco, o Access abrirá o formulário no modo de entrada de dados definido pelas propriedades AllowEdits, AllowDeletions, AllowAdditions e DataEntry do formulário.

Modo Janela

O modo de janela no qual o formulário é aberto. Clique em Normal (o formulário é aberto no modo definido por suas propriedades), Oculto (o formulário está oculto), Ícone (o formulário abre minimizado como uma pequena barra de título na parte inferior da tela) ou Diálogo (as propriedades Modal e PopUp do formulário estão definidas como Sim). O padrão é Normal.

OBSERVAÇÃO: algumas configurações de argumento do Modo de Janela não se aplicam ao usar documentos com guias. Para alternar para janelas sobrepostas:

  1. Clique na guia Arquivo e clique em Opções.

  2. Na caixa de diálogo Opções do Access, clique em Banco de Dados Atual.

  3. Na seção Opções de Aplicativo, em Opções de Janela de Documento, clique em Sobreposição do Windows.

  4. Clique em OK e feche e abra o banco de dados novamente.

Comentários

Essa ação é semelhante a clicar duas vezes em um formulário no Painel de Navegação ou clicar com o botão direito do mouse no formulário no Painel de Navegação e selecionar uma exibição.

Um formulário pode ser modal (deve ser fechado ou oculto antes que o usuário possa executar qualquer outra ação) ou modeless (o usuário pode se mover para outras janelas enquanto o formulário está aberto). Ele também pode ser um formulário pop-up (um formulário usado para coletar ou exibir informações que permanecem em cima de todas as outras janelas de Acesso). Você define as propriedades Modal e PopUp ao projetar o formulário. Se você usar Normal para o argumento Modo de Janela , o formulário será aberto no modo especificado por essas configurações de propriedade. Se você usar a Caixa de Diálogo para o argumento Modo de Janela , essas propriedades serão definidas como Sim. Um formulário aberto como oculto ou como um ícone retorna ao modo especificado por suas configurações de propriedade ao mostrá-lo ou restaurá-lo.

Quando você abre um formulário com o argumento Modo de Janela definido como Caixa de Diálogo, o Access suspende a macro até que o formulário seja fechado ou oculto. Você pode ocultar um formulário definindo sua propriedade Visible como No usando a ação SetValue .

Dica

Você pode selecionar um formulário no Painel de Navegação e arrastá-lo para uma linha de ação de macro. Isso cria automaticamente uma ação OpenForm que abre o formulário no modo de exibição Formulário.

O filtro e a condição WHERE que você aplica tornam-se a configuração da propriedade Filter do formulário.

Exemplos

Definir o valor de um controle, usando uma macro

A macro a seguir abre o formulário Adicionar Produtos de um botão no formulário de Fornecedores. Mostra o uso das ações Echo, CloseWindow, OpenForm, SetValue e GoToControl. A ação SetValue define o controle ID do Fornecedor no formulário Produtos como o fornecedor atual no formulário Fornecedores. A ação GoToControl move o foco para o campo ID de categoria, no qual você pode começar a inserir dados para o novo produto. Essa macro deve estar anexada ao botão Adicionar Produtos no formulário de Fornecedores.

Ação

Argumentos: Configuração

Comentário

Echo

Echo On: No

Interrompe a atualização de tela quando a macro é executada.

CloseWindow

Object Type: FormObject Name: Product List Save: No

Fecha o Formulário de Lista de Produtos.

OpenForm

Form Name: Products View: FormData Mode: AddWindow Mode: Normal

Abre o formulário de produtos.

SetValue

Item: [Forms]![Products]![SupplierID] Expression: SupplierID

Defina o controle ID do Fornecedor como o fornecedor atual no formulário Fornecedores.

GoToControl

Control Name: CategoryID

Vá para o controle ID de categoria.

A macro a seguir abre um formulário de Lista de Produtos no canto inferior direito do formulário Fornecedores, exibindo os produtos do fornecedor atual. Ele mostra o uso das ações Echo, MessageBox, GoToControl, StopMacro, OpenForm e MoveAndSizeWindow . Ele também mostra o uso de uma expressão condicional com as ações MessageBox, GoToControl e StopMacro . Essa macro deve ser anexada ao botão Revisar Produtos no formulário Fornecedores.

Sincronizar formulários usando uma macro

Condition

Ação

Argumentos: Configuração

Comentário

Echo

Echo On: No

Interrompe a atualização de tela quando a macro é executada.

IsNull([SupplierID])

CaixaDeMensagem

Mensagem: mova para o registro de fornecedor cujos produtos você deseja ver e clique no botão Revisar Produtos novamente. Beep: YesType: NoneTitle: selecione um fornecedor

Se não houver nenhum fornecedor atual no formulário Fornecedores, exiba uma mensagem.

...

GoToControl

Nome do controle: CompanyName

Mova o foco para o controle CompanyName.

...

Pararmacro

Pare a macro.

OpenForm

Nome do formulário: Exibição da lista de produtos: DatasheetFilter Name: Where Condition: [SupplierID] = [Forms]! [Fornecedores]! [SupplierID] Modo de Dados: Modo OnlyWindow de leitura: normal

Abra o formulário Lista de Produtos e mostre os produtos do fornecedor atual.

MoveAndSizeWindow

Direito: 0,7799" Para baixo: 1,8"

Posicione o formulário Lista de Produtos no canto inferior direito do formulário Fornecedores.