Ação da macro AbrirFormulário

Aplica-se ao: Access 2013, Office 2013

Pode utilizar a ação AbrirFormulário para abrir um formulário na vista Formulário, vista Estrutura, Pré-visualizar ou Vista de 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.

Configuração

A ação AbrirFormulário tem os seguintes argumentos.

Argumento da ação

Descrição

Nome do Formulário

O nome do formulário a abrir. A caixa Nome do Formulário na secção Argumentos de Ação do painel Construtor de Macros mostra todos os formulários na base de dados atual. Este é um argumento obrigatório. Se executar uma macro com a ação AbrirFormulário numa base de dados de biblioteca, o Microsoft Access procura primeiro o formulário com este nome na base de dados da biblioteca e, em seguida, na base de dados atual.

View

A vista na qual o formulário será aberto. Clique em Formulário, Estrutura, Pré-visualizar, Folha de Dados, Tabela Dinâmica ou Gráfico Dinâmico na caixa Ver . A predefinição é Formulário.

NOTA: a definição do argumento Ver substitui as definições das propriedades DefaultView e ViewsAllowed do formulário. Por exemplo, se a propriedade ViewsAllowed de um formulário estiver definida como Folha de Dados, ainda pode utilizar a ação AbrirFormulário para abrir o formulário na vista Formulário.

Nome do Filtro

Um filtro que restringe ou ordena os registos 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 tem de incluir todos os campos no formulário que está a abrir ou ter a respetiva propriedade OutputAllFields definida como Sim.

Condição Where

Uma cláusula WHERE do SQL válida (sem a palavra WHERE) ou expressão que o Access utiliza para selecionar registos da consulta ou tabela 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 os respetivos registos aos especificados pelo valor de um controlo noutro formulário, utilize a seguinte expressão: [nomedocampo] = Formulários![formname]! [nomedocontrolo noutro formulário] Substitua fieldname pelo nome de um campo na tabela ou consulta subjacente do formulário que pretende abrir. Substitua formname e controlname noutro formulário pelo nome do outro formulário e pelo controlo no outro formulário que contém o valor que pretende que os registos no primeiro formulário correspondam.

NOTA: o comprimento máximo do argumento Condição Where é de 255 carateres. Se precisar de introduzir uma cláusula WHERE do SQL mais complexa do que esta, utilize o método OpenForm do objeto DoCmd num módulo Visual Basic for Applications (VBA). É possível inserir instruções de cláusulas SQL WHERE de até 32.768 caracteres no VBA.

Modo de Dados

O modo de introdução 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. Observações

  • A definição do argumento Modo de Dados substitui as definições das propriedades AllowEdits, AllowDeletions, AllowAdditions e DataEntry do formulário. Por exemplo, se a propriedade AllowEdits de um formulário estiver definida como Não, ainda pode utilizar a ação AbrirFormulário para abrir o formulário no Modo de edição.

  • Se deixar este argumento em branco, o Access abre o formulário no modo de introdução 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 pelas respetivas propriedades), Oculto (o formulário está oculto), Ícone (o formulário é aberto minimizado como uma pequena barra de título na parte inferior do ecrã) ou Caixa de diálogo (as propriedades Modal e Pop-Up do formulário estão definidas como Sim). O padrão é Normal.

NOTA: algumas definições de argumentos do Modo de Janela não se aplicam ao utilizar documentos com separadores. Para alternar para janelas sobrepostas:

  1. Clique no separador Ficheiro e, em seguida, clique em Opções.

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

  3. Na secção Opções da Aplicação, em Opções da Janela do Documento, clique em Janelas Sobrepostas.

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

Comentários

Esta ação é semelhante a fazer duplo clique num formulário no Painel de Navegação ou clicar com o botão direito do rato no formulário no Painel de Navegação e, em seguida, selecionar uma vista.

Um formulário pode ser modal (tem de ser fechado ou oculto antes de o utilizador poder efetuar qualquer outra ação) ou modelação (o utilizador pode mover-se para outras janelas enquanto o formulário está aberto). Também pode ser um formulário de pop-up (um formulário utilizado para recolher ou apresentar informações que permanecem sobre todas as outras janelas do Access). Pode definir as propriedades Modal e Pop-up quando estruturar o formulário. Se utilizar Normal para o argumento Modo de Janela , o formulário é aberto no modo especificado por estas definições de propriedade. Se utilizar a Caixa de Diálogo para o argumento Modo de Janela , estas propriedades estão ambas definidas como Sim. Um formulário aberto como oculto ou como um ícone regressa ao modo especificado pelas respetivas definições de propriedade quando o mostra ou restaura.

Quando 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. Pode ocultar um formulário ao definir a respetiva propriedade Visible como Não com a ação SetValue .

Dica

Pode selecionar um formulário no Painel de Navegação e arrastá-lo para uma linha de ação de macro. Esta ação cria automaticamente uma ação OpenForm que abre o formulário na vista Formulário.

O filtro e a condição WHERE que aplicar tornam-se a definição da propriedade Filtro 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 controlo ID do Fornecedor no formulário Produtos para o fornecedor atual no formulário Fornecedores. Em seguida, a ação GoToControl move o foco para o campo ID da Categoria, onde pode começar a introduzir 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 controlo ID do Fornecedor para o fornecedor atual no formulário Fornecedores.

GoToControl

Control Name: CategoryID

Aceda ao controlo ID da Categoria.

A seguinte macro abre um formulário lista de produtos no canto inferior direito do formulário Fornecedores, apresentando os produtos do fornecedor atual. Mostra a utilização das ações Eco, MessageBox, GoToControl, StopMacro, OpenForm e MoveAndSizeWindow . Também mostra a utilização de uma expressão condicional com as ações MessageBox, GoToControl e StopMacro . Esta macro deve ser anexada ao botão Rever Produtos no formulário Fornecedores.

Sincronizar formulários com 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: Mude para o registo de fornecedor cujos produtos pretende ver e, em seguida, clique novamente no botão Rever Produtos. Aviso Sonoro: YesType: NoneTitle: Selecionar um Fornecedor

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

...

GoToControl

Nome do Controlo: NomedaEmpresa

Mude o foco para o controlo CompanyName.

...

PararMacro

Pare a macro.

OpenForm

Nome do Formulário: Vista de Lista de Produtos: DatasheetFilter Name: Where Condition: [SupplierID] = [Forms]! [Fornecedores]! [IDDoForforcedor] Modo de Dados: Modo Só de LeituraWindow: Normal

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

MoveAndSizeWindow

Direita: 0,7799" Baixo: 1,8"

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