Compartilhar via


Ação da macro IrParaControle

Aplica-se ao: Access 2013, Office 2013

Você pode usar a ação GoToControl 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. Use esta ação quando quiser que um campo ou controle específico tenha o foco. Esse campo ou controle pode ser usado para comparações ou ações FindRecord . Você também pode usar esta ação para navegar em um formulário de acordo com certas condições. Por exemplo, se o usuário inserir Não em um controle Casado de um formulário de seguro de saúde, o foco automaticamente poderá ignorar o controle Nome do cônjuge/parceiro e passar para o próximo controle.

Setting

Observação

Essa ação não está disponível para uso com páginas de acesso a dados.

A ação IrParaControle tem os argumentos a seguir.

Argumento da ação

Descrição

Nome do Controle

O nome do campo ou do controle em que você deseja focar. Insira o nome do campo ou do controle na caixa Nome do Controle na seção Argumentos de Ação do painel Construtor de Macro. Este é 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].

Comentários

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

Dica

Você pode usar a ação 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

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

Feche o formulário 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.

Validar dados usando uma macro

A macro de validação a seguir verifica os códigos postais inseridos em um formulário Fornecedores. Ela mostra o uso das ações PararMacro, CaixadeMensagem, CancelarEvento e IrParaControle. Uma expressão condicional verifica o país/região e o código postal inseridos em um registro do 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 mensagem e cancelará o salvamento do registro. Em seguida, a macro retorna você para o controle postal code, onde você pode corrigir o erro. Essa macro deve ser anexada à propriedade AntesdeAtualizar do formulário Fornecedores.

Condition

Ação

Argumentos: Configuração

Comentário

IsNull([CountryRegion])

Pararmacro

Se CountryRegion for Null, o código postal não poderá ser validado.

[CountryRegion] In ("França","Itália","Espanha") e Len([Código Postal]) <> 5

CaixaDeMensagem

Mensagem: o código postal deve ter 5 caracteres. Beep: YesType: InformationTitle: Erro do Código Postal

Se o código postal não for de 5 caracteres, exiba uma mensagem.

...

CancelEvent

Cancele o evento.

GoToControl

Nome do controle: PostalCode

[CountryRegion] Em ("Austrália", "Cingapura") e Len([Código Postal]) <> 4

CaixaDeMensagem

Mensagem: O código postal precisa ter 4 caracteres. Beep: YesType: InformationTitle: Erro do Código Postal

Se o código postal não for de 4 caracteres, exiba uma mensagem.

...

CancelEvent

Cancele o evento.

GoToControl

Nome do controle: PostalCode

([PaísRegião] = "Canadá") E ([CEP] Não igual a"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]")

CaixaDeMensagem

Mensagem: o código postal não é válido. Exemplo de código canadense: H1J 1C3 Beep: YesType: InformationTitle: Postal Code Error

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

...

CancelEvent

Cancele o evento.