Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Pode utilizar a ação de macro GoToControl em bases de dados de ambiente de trabalho do Access e aplicações Web do Access para mover o foco para o campo ou controlo especificados na registo atual do formulário aberto, folha de dados de formulário, folha de dados da tabela ou folha de dados de consulta. Pode utilizar esta ação quando quiser que um determinado campo ou controlo tenha o foco. Em seguida, este campo ou controlo pode ser utilizado para comparações ou ações LocalizarRegisto . Também pode utilizar esta ação para navegar num formulário de acordo com determinadas condições. Por exemplo, se o utilizador introduzir Não num controlo Casado num formulário de seguro de saúde, o foco pode ignorar automaticamente o controlo Nome do Cônjuge e passar para o controlo seguinte.

Definição

A ação GoToControl tem o seguinte argumento.

Argumento de ação

Descrição

Nome do Controlo

Escreva o nome do campo ou controlo onde pretende colocar o foco. Este argumento é obrigatório.

Nota: Introduza apenas o nome do campo ou controlo no argumento Nome do Controlo e não o identificador completamente qualificado, como [Forms]![ Produtos]! [ID do Produto] se estiver a utilizar uma base de dados de ambiente de trabalho do Access.

Observações

Não pode utilizar a ação de macro GoToControl para mover o foco para um controlo num formulário oculto.

Sugestão:  Pode utilizar a ação de macro GoToControl para mover para um subformulário, que é um tipo de controlo. Em seguida, pode utilizar a ação GoToRecord para mover para um registo específico no subformulário. Também pode mover para um controlo num subformulário através da ação GoToControl para mover primeiro para o subformulário e, em seguida, para o controlo no subformulário.

Para executar a ação GoToControl num módulo Visual Basic for Applications (VBA), utilize o método GoToControl do objeto DoCmd. Também pode utilizar o método SetFocus para mover o foco para um controlo num formulário ou qualquer um dos respetivos subformulários ou para um campo numa tabela, consulta ou folha de dados de formulário aberta.

Exemplos

Definir o valor de um controlo com uma macro

A seguinte macro abre o formulário Adicionar Produtos a partir de um botão no formulário Fornecedores. Mostra a utilização das ações Echo, Close, 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. Esta macro deve ser anexada ao botão Adicionar Produtos no formulário Fornecedores.

Ação

Argumentos: Definição

Comentário

Echo

Eco Ativado: Não

Pare a atualização do ecrã enquanto a macro está em execução.

Fecho

Tipo de Objeto: Formulário

Nome do Objeto: Lista de Produtos

Guardar: Não

Fechar formulário de Lista de Produtos.

AbrirFormulário

Nome do Formulário: Produtos

Ver: Formulário

Modo de Dados: Adicionar

Modo de Janela: Normal

Abra o formulário Produtos.

SetValue

Item: [Forms]![ Produtos]! [IDDoForforcedor]

Expressão: IDDoForforcedor

Defina o controlo ID do Fornecedor para o fornecedor atual no formulário Fornecedores.

IrParaControlo

Nome do Controlo: CategoryID

Aceda ao controlo ID da Categoria.

Validar dados ao utilizar uma macro

A seguinte macro de validação verifica os códigos postais introduzidos num formulário de Fornecedores. Mostra a utilização das ações StopMacro, MessageBox, CancelEvent e GoToControl . A expressão condicional verifica o país/região e código postal introduzidos num registo do formulário. Se o código postal não estiver no formato correto para o país/região, a macro apresenta uma caixa de mensagens e não guarda o registo. Em seguida, a macro devolve-o ao controlo Código Postal, onde pode corrigir o erro. Esta macro deve ser anexada à propriedade AntesDeActualizar do formulário de Fornecedores.

Condição

Ação

Argumentos: Definição

Comentário

If IsNull([CountryRegion])

PararMacro

Se PaísRegião for Nulo, o código postal não pode ser validado.

Se [PaísRegião] Em ("França","Itália","Espanha") E Len([Código Postal]) <> 5

Caixa de Mensagens

Mensagem: O código postal tem de ter 5 carateres.

AvisoSonoro: Sim

Tipo: Informações

Título: Erro de Código Postal

Se o código postal não tiver 5 carateres, apresentar uma mensagem.

CancelarEvento

Cancela o evento

IrParaControlo

Nome do Controlo: Código Postal

Se [PaísRegião] Em ("Austrália","Singapura") E Len([Código Postal]) <> 4

Caixa de Mensagens

Mensagem: O código postal tem de ter 4 carateres.

AvisoSonoro: Sim

Tipo: Informações

Título: Erro de Código Postal

Se o código postal não tiver 4 carateres, apresentar uma mensagem.

CancelarEvento

Cancela o evento

IrParaControlo

Nome do Controlo: Código Postal

If ([CountryRegion] = "Canada") And ([Postal Code] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]")

Caixa de Mensagens

Mensagem: O código postal não é válido. Exemplo de código Canadiano: H1J 1C3

AvisoSonoro: Sim

Tipo: Informações

Título: Erro de Código Postal

Se o código postal não estiver correto para o Canadá, apresentar uma mensagem. (Exemplo do código canadiano: H1J 1C3)

CancelarEvento

Cancela o evento

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.