Ação de macro IrParaControle

Aplica-se a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Você pode usar a ação macro GoToControl em Bancos de dados da área de trabalho do Access e aplicativos Web access para mover o foco para o campo ou controle especificado no registro atual do formulário aberto, folha de dados de formulário, planilha de tabela ou folha de dados de consulta. Você pode usar essa ação quando quiser que um determinado campo ou controle tenha o foco. Esse campo ou controle pode ser usado para comparações ou ações FindRecord . Você também pode usar essa ação para navegar em um formulário de acordo com determinadas condições. Por exemplo, se o usuário inserir Não em um controle Casado em um formulário de seguro de saúde, o foco poderá ignorar automaticamente o controle Nome do Cônjuge e passar para o próximo controle.

Configuração

A ação GoToControl tem o argumento a seguir.

Argumento da ação Descrição
Nome do Controle Digite o nome do campo ou controle onde você deseja o foco. Esse é um argumento obrigatório.
Nota: Insira apenas o nome do campo ou controle no argumento Nome do Controle , não o identificador totalmente qualificado, como [Forms]! [Produtos]! [ID do produto] se você estiver usando um banco de dados da área de trabalho do Access.

Comentários

Você não pode usar a ação macro GoToControl para mover o foco para um controle em um formulário oculto.

Dica

Você pode usar a ação macro GoToControl para mover para um subforma, que é um tipo de controle. Em seguida, você pode usar a ação GoToRecord para mover para um registro específico no subforma. Você também pode mover para um controle em um subforma usando a ação GoToControl para mover primeiro para o subforma e, em seguida, para o controle no subforma.

Para executar a ação GoToControl em um módulo VBA (Visual Basic for Applications), use o método GoToControl do objeto DoCmd. Você também pode usar o método SetFocus para mover o foco para um controle em um formulário ou em qualquer um de seus subformos ou para um campo em uma tabela aberta, consulta ou folha de dados de formulário.

Exemplos

Defina 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 Fornecedores. Ele mostra o uso das ações Echo, Close, 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 ser anexada ao botão Adicionar Produtos no formulário Fornecedores.

Ação Argumentos: Configuração Comentário
Eco Echo On: Não Interromper a atualização de tela enquanto a macro está em execução.
Fechar Tipo de objeto: Formulário
Nome do objeto: Lista de produtos
Salvar: Não
Feche o formulário Lista de Produtos.
Abrirformulário Nome do Formulário: Produtos
Exibição: Formulário
Modo de Dados: Adicionar
Modo de Janela: Normal
Abra o formulário Produtos.
Setvalue Item: [Forms]! [Produtos]! [SupplierID]
Expressão: SupplierID
Defina o controle ID do Fornecedor como o fornecedor atual no formulário Fornecedores.
Irparacontrole Nome do controle: CategoryID Vá para o controle ID de categoria.

Validar dados usando uma macro

A macro de validação a seguir verifica os códigos postais inseridos em um formulário Fornecedores. Ele mostra o uso das ações StopMacro, MessageBox, CancelEvent e GoToControl . Uma expressão condicional verifica o país/região e o código postal inseridos em um registro no formulário. Se o código postal não estiver no formato certo para o país/região, a macro exibirá uma caixa de mensagens e cancelará salvar o registro. Em seguida, a macro retorna você para o controle postal code, onde você pode corrigir o erro. Essa macro deve ser anexada à propriedade BeforeUpdate do formulário Fornecedores.

Condição Ação Argumentos: Configuração Comentário
Se IsNull([CountryRegion]) Pararmacro Se CountryRegion for Null, o código postal não poderá ser validado.
Se [CountryRegion] in ("França", "Itália", "Espanha") e Len([Código Postal]) <> 5 Messagebox Mensagem: o código postal deve ter 5 caracteres.
Bip: Sim
Tipo: Informações
Título: Erro do Código Postal
Se o código postal não for de 5 caracteres, exiba uma mensagem.
Cancelarevento Cancele o evento.
Irparacontrole Nome do controle: PostalCode
Se [CountryRegion] In ("Austrália","Cingapura") e Len([Código Postal]) <> 4 Messagebox Mensagem: o código postal deve ter 4 caracteres.
Bip: Sim
Tipo: Informações
Título: Erro do Código Postal
Se o código postal não for de 4 caracteres, exiba uma mensagem.
Cancelarevento Cancele o evento.
Irparacontrole Nome do controle: PostalCode
Se ([CountryRegion] = "Canadá") e ([Código Postal] não gostarem"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") Messagebox Mensagem: o código postal não é válido. Exemplo de código canadense: H1J 1C3
Bip: Sim
Tipo: Informações
Título: Erro do Código Postal
Se o código postal não estiver correto para o Canadá, exiba uma mensagem. (Exemplo de código canadiano: H1J 1C3)
CancelarEvento Cancele o evento.