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 Inserir ocorre após a adição de um registro.
Observação
O evento Após Inserir está disponível somente em Macros de Dados.
Comentários
Use o evento Após Inserir para executar qualquer ação que você deseja que ocorra após a adição de um registro a uma tabela. As utilizações mais comuns do Após Inserir 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.
Você pode usar a função Updated("Nome do Campo") para determinar se um campo foi alterado. O exemplo de código abaixo 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
A tabela a seguir lista comandos de macro que podem ser usadas no evento Após Inserir.
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 Inserir, siga estas etapas.
Abra a tabela na qual deseja capturar o evento Após Inserir.
Na guia Tabela, no grupo Após Eventos, clique em Após Inserir.
Uma macro de dados vazia é exibida no designer de macros.
Exemplo
O exemplo de código a seguir usa o evento Após Inserir para executar alguns processos quando um registro é adicionado à tabela Doações. Quando um registro é adicionado, a quantidade de doações é adicionada ao campo DoaçõesRecebidas em Campanhas e ao campo TotaldaDoação na tabela Doa
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 Inserir.
Na guia Tabela, no grupo Após Eventos, clique em Após Inserir.
Selecione o código no exemplo de código a seguir e pressione CTRL+C para copiá-lo para a Área de Transfer
Ative a janela do designer de macros e pressione CTRL+V.
<DataMacros>
<DataMacro Event="AfterInsert">
<Statements>
<Comment>This data macro increments the DonationsReceived field in Campaigns and theAmountCollected field in Pledges </Comment>
<Action Name="SetLocalVar">
<Argument Name="Name">varAmount</Argument>
<Argument Name="Value">[Amount]</Argument>
</Action>
<ConditionalBlock>
<If>
<Condition>Not (IsNull([CampaignID]))</Condition>
<Statements>
<ForEachRecord>
<Data>
<Reference>Campaigns</Reference>
<WhereCondition>[ID]=[Donations].[CampaignID]</WhereCondition>
</Data>
<Statements>
<EditRecord>
<Data />
<Statements>
<Action 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([DonorID]))</Condition>
<Statements>
<ForEachRecord>
<Data>
<Reference>Donors</Reference>
<WhereCondition>[ID]=[Donations].[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 =[Amount]
If Not (IsNull([CampaignID])) Then
For Each Record In Campaigns
Where Condition =[ID]=[Donations].[CampaignID]
Alias
EditRecord
Alias
SetField
Name [DonationsReceived]
Value =[DonationsReceived]+[varAmount]
End EditRecord
End If
If Not (IsNull([DonorID])) Then
For Each Record In Donors
WhereCondition =[ID]=[Donations].[DonorID]
Alias
EditRecord
Alias
SetField
Name [TotalDonated]
Value =[TotalDonated]+[varAmount]
End EditRecord
End If