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
O evento After Update ocorre após a alteração de um registro.
Observação
O evento After Update só está disponível em Macros de Dados.
Comentários
Use o evento After Update para executar todas as ações que você deseja que ocorram quando um registro for alterado. Os usos comuns para After Insert incluem impor regras comerciais, atualização de um total agregado e envio de notificações.
Você pode usar a função Updated("Nome do Campo") para determinar se um campo foi alterado. O exemplo de código a seguir mostra como usar uma instrução If para determinar se o campo PaidInFull foi alterado.
If Updated("PaidInFull") Then
/* Perform actions based on changes to the field. */
End If
Você pode usar o acesso ao valor anterior em um campo usando a sintaxe a seguir.
[Old].[Field Name]
Por exemplo, para acessar o valor anterior do campo QuantityIInStock, use a sintaxe a seguir.
[Old].[QuantityInStock]
Os valores anteriores serão permanentemente excluídos quando o evento After Update terminar.
A tabela a seguir lista comandos de macro que podem ser usados no evento After Update.
Tipo de Comando |
Comando |
|---|---|
Fluxo do programa |
|
Fluxo do programa |
|
Fluxo do programa |
|
Bloco de dados |
|
Bloco de dados |
|
Bloco de dados |
|
Bloco de dados |
|
Ação de Dados |
|
Ação de Dados |
|
Ação de Dados |
|
Ação de Dados |
|
Ação de Dados |
|
Ação de Dados |
|
Ação de Dados |
|
Ação de Dados |
|
Ação de Dados |
|
Ação de Dados |
|
Ação de Dados |
|
Ação de Dados |
|
Ação de Dados |
Para criar uma macro Data que captura o evento After Update, use estas etapas:
Abra a tabela para a qual você deseja capturar o evento After Update.
Na guia Tabela, no grupo After Events, clique em After Update.
Uma macro de dados vazia é exibida no designer de macros.
Exemplo
O exemplo de código a seguir usa o evento After Update para executar uma macro de dados nomeada que adiciona um registro à tabela Comentário sempre que o status de um problema for atualizado.
Clique aqui para exibir uma cópia de macro que você pode colar no Designer de Macros.
Para exibir este exemplo no designer de macros, use estas etapas:
Abra a tabela para a qual você deseja capturar o evento After Update.
Na guia Tabela, no grupo After Events, clique em After Update.
Selecione o código no seguinte exemplo de código e então pressione CTRL+C para copiá-lo para a Área de Transferência.
Ative a janela do designer de macros e pressione CTRL+V.
<DataMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/04/application">
<DataMacro Event="AfterUpdate">
<Statements>
<ConditionalBlock>
<If>
<Condition>Updated("Status")</Condition>
<Statements>
<Action Name="RunDataMacro">
<Argument Name="MacroName">Comments.AddComment</Argument>
<Parameters>
<Parameter Name="prmRelatedID" Value="[ID]" />
<Parameter Name="prmComment" Value=""-- Status changed to " & [Status]" />
<Parameter Name="prmUserID" Value="[UserID]" />
</Parameters>
</Action>
</Statements>
</If>
</ConditionalBlock>
<ConditionalBlock>
<If>
<Condition>Updated("Resolution")</Condition>
<Statements>
<Action Name="RunDataMacro">
<Argument Name="MacroName">Comments.AddComment</Argument>
<Parameters>
<Parameter Name="prmRelatedID" Value="[ID]" />
<Parameter Name="prmUserID" Value="[UserID]" />
<Parameter Name="prmComment" Value=""-- Issue resolved as " & [Resolution]" />
</Parameters>
</Action>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</DataMacro>
</DataMacros>
If Updated("Status") Then
RunDataMacro
Macro Name Comments.AddComment
Parameters
prmRelatedID = [ID]
prmComment ="--Status Changes to "&[Status]
prmUserID =[ChangedByUserID]
End If
If Updated("Resolution") Then
RunDataMacro
Macro Name Comments.AddComment
Parameters
prmRelatedID = [ID]
prmUserID =[ChangedByUserID]
prmComment ="--Issue Resolved as "&[Status]
End If