Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se ao: Access 2013, Office 2013
Você pode usar a ação CancelEvent para cancelar o evento que fez com que o Access executasse a macro que contém essa ação. O nome da macro é a configuração de uma propriedade de evento como AntesDeAtualizar, AoAbrir, OnUnload ou OnPrint.
Setting
A ação CancelarEvento não tem nenhum argumento.
Comentários
Em um formulário, normalmente é usada a ação CancelarEvento em uma macro de validação com a propriedade de evento AntesDeAtualizar. Quando um usuário insere dados em um controle ou registro, o Access executa a macro antes de adicioná-los ao banco de dados. Se os dados falharem nas condições de validação da macro, a ação CancelarEvento cancelará o processo de atualização antes de ser iniciado.
Geralmente, você usa esta ação com a ação CaixadeMensagem para indicar que os dados falharam nas condições de validação e para fornecer informações úteis sobre o tipo de dados que deve ser inserido.
Os eventos a seguir podem ser cancelados pala ação CancelarEvento.
ApplyFilter |
Dirty |
MouseDown |
BeforeDelConfirm |
Exit |
NoData |
BeforeInsert |
Filtro |
Abrir |
BeforeUpdate |
Format |
|
DblClick |
KeyPress |
Unload |
Delete |
Observação
[!OBSERVAçãO] Você pode usar a ação CancelarEvento com o evento PressionarMouse somente para cancelar o evento que ocorre ao clicar com o botão direito do mouse em um objeto.
Se a configuração da propriedade de evento OnDblClick de um controle especificar uma macro que contém a ação CancelarEvento, esta cancelará o evento ClicarDuasVezes.
Para eventos que podem ser cancelados, o comportamento padrão do evento (ou seja, o que o Access normalmente faz na ocorrência do evento) ocorre após a execução da macro do evento. Isso permite cancelar o comportamento padrão. Por exemplo, quando você clica duas vezes em uma palavra sobre a qual está o ponto de inserção em uma caixa de texto, o Access normalmente seleciona a palavra. É possível cancelar esse comportamento padrão na macro do evento ClicarDuasVezes e executar alguma outra ação, como abrir um formulário que contém informações sobre os dados na caixa de texto. Para eventos que não podem ser cancelados, o comportamento padrão ocorre antes de a macro ser executada.
Observação
[!OBSERVAçãO] Se a propriedade de evento OnUnload de um formulário especificar uma macro que executa uma ação CancelarEvento, você não conseguirá fechar o formulário. Será necessário corrigir a condição que causou a execução da ação CancelarEvento ou abrir a macro e excluir a ação CancelarEvento. Se o formulário for restrito, você não conseguirá abrir a macro.
Para executar a ação CancelarEvento em um módulo do VBA (Visual Basic for Applications), use o método CancelEvent do objeto DoCmd.
Exemplo
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. Ela retornará o controle de Código Postal, em que será possível 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 PaísRegião for Nulo, 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 precisa ter 5 caracteres. Bip: Tipo sim : título de informações : erro de código postal |
Se o código postal não tiver 5 caracteres, exiba uma mensagem. |
... |
CancelEvent |
Cancele o evento. |
|
GoToControl |
Nome do Controle: CEP |
||
[CountryRegion] Em ("Austrália", "Cingapura") e Len([Código Postal]) <> 4 |
CaixaDeMensagem |
Mensagem: O código postal precisa ter 4 caracteres. Bip: Tipo sim : título de informações : erro de código postal |
Se o código postal não tiver 4 caracteres, exiba uma mensagem. |
... |
CancelEvent |
Cancele o evento. |
|
GoToControl |
Nome do Controle: CEP |
||
([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 é inválido. Exemplo de código canadense: H1J 1C3 Beep: Sim Tipo: Título de informações : erro de código postal |
Se o código postal não estiver correto para Canadá, exiba uma mensagem. (Exemplo de código de Canadá: H1J 1C3) |
... |
CancelEvent |
Cancele o evento. |