Você pode usar a ação macro GoToControl nos bancos de dados da área de trabalho do Access e nos aplicativos Web do Access para mover o foco para o campo ou controle especificados no registro atual do formulário aberto , formulário folha de dados, planilha de tabela ou planilha 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. Observação: 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 subformulário, 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 subformulário 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 |
Comentar |
Echo |
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 |
Comentar |
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 canadense: H1J 1C3) |
Cancelarevento |
Cancele o evento. |