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 Após Exclusão ocorre após a exclusão de cada evento.
Observação
O evento Após Exclusão está disponível somente em Macros de Dados.
Comentários
Use o evento Após Exclusão para executar qualquer ação que você deseja que ocorra após a exclusão de um registro. As utilizações mais comuns do Após Exclusão incluem a aplicação de regras de negócio, fluxos de trabalho, a atualização de um total agregado e o envio de notificações.
Quando o evento Após Exclusão ocorre, os valores contidos no registro excluído ainda permanecem disponíveis. Você pode querer usar um valor excluído para incrementar ou decrementar um total, criar uma trilha de auditoria ou comparar com um valor existente em um argumento WhereCondition .
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 acessar um valor no registro excluído utilizando a sintaxe a seguir
[Old].[Field Name]
Por exemplo, para acessar o valor do campo QuantityInStock no registro excluído, use a seguinte sintaxe.
[Old].[QuantityInStock]
Os valores contidos no registro excluído são excluídos permanentemente após a conclusão do evento Após Exclusão.
Os comandos de macro a seguir podem ser usados no evento After Delete .
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 de Dados que capture o evento Após Exclusão, siga estas etapas.
Abra a tabela na qual deseja capturar o evento Após Exclusão.
Na guia Tabela, no grupo Após Eventos, clique em Após Exclusão.
Uma Macro de Dados vazia é exibida no designer de macros.
Exemplo
O exemplo de código a seguir usa o evento Após Exclusão para executar alguns processos quando um registro é excluído da tabela Doações. Quando um registro é excluído, a quantidade de doações é subtraída do campo DoaçõesRecebidas em DoaçõesRecebidas e do campo TotaldaDoação na tabela Doadores.
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, siga estas etapas.
Abra a tabela na qual deseja capturar o evento Após Exclusão.
Na guia Tabela, no grupo Após Eventos, clique em Após Exclusão.
Selecione o código listado abaixo e pressione CTRL+C para copiá-lo para a área de transferência.
Ative a janela do designer de macros e pressione CTRL+V.
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<DataMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/04/application">
<DataMacro Event="AfterDelete">
<Statements>
<Comment>Initialize a variable and assign the old</Comment>
<Action Name="SetLocalVar">
<Argument Name="Name">varAmount</Argument>
<Argument Name="Value">[Old].[Amount]</Argument>
</Action>
<ConditionalBlock>
<If>
<Condition>Not (IsNull([Old].[CampaignID]))</Condition>
<Statements>
<ForEachRecord>
<Data>
<Reference>Campaigns</Reference>
<WhereCondition>[ID]=[Old].[CampaignID]</WhereCondition>
</Data>
<Statements>
<EditRecord>
<Data />
<Statements>
<Action Collapsed="true" Name="SetField">
<Argument Name="Field">[DonationsReceived]</Argument>
<Argument Name="Value">[DonationsReceived]-[varAmount]</Argument>
</Action>
</Statements>
</EditRecord>
</Statements>
</ForEachRecord>
</Statements>
</If>
</ConditionalBlock>
<ConditionalBlock>
<If>
<Condition>Not (IsNull([Old].[DonorID]))</Condition>
<Statements>
<ForEachRecord>
<Data>
<Reference>Donors</Reference>
<WhereCondition>[ID]=[Old].[DonorID]</WhereCondition>
</Data>
<Statements>
<EditRecord>
<Data />
<Statements>
<Action Name="SetField">
<Argument Name="Field">[TotalDonated]</Argument>
<Argument Name="Value">[TotalDonated]-[varAmount]</Argument>
</Action>
</Statements>
</EditRecord>
</Statements>
</ForEachRecord>
</Statements>
</If>
</ConditionalBlock>
</Statements>
</DataMacro>
</DataMacros>
SetLocalVar
Name varAmount
Expression =[Old].[Amount]
If Not(IsNull([Old].[CampaignID]])) Then
For Each Record In Campaigns
Where Condition =[ID]=[Old].[CampaignID]
Alias
EditRecord
Alias
SetField ([DonationsReceived], [DonationsReceived] - [varAmount])
End EditRecord
End If
If Not(IsNull([Old].[DonorID]])) Then
For Each Record In Donors
Where Condition =[ID]=[Old].[DonorID]
Alias
EditRecord
Alias
SetField
Name [TotalDonated]
Value =[TotalDonated]-[varAmount]
End EditRecord
End If