Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Access 2013, Office 2013
L'événement AfterInsert se produit après l'ajout d'un nouvel enregistrement.
Remarque
Le après insérer événement est disponible uniquement dans les Macros de données.
Remarques
Utilisez l'événement Après insertion pour effectuer toute action souhaitée lorsqu'un enregistrement est ajouté à une table. L'événement Après insertion peut par exemple servir à appliquer des règles professionnelles ou des flux de travail, à mettre à jour un total agrégé et à envoyer des notifications.
Vous pouvez utiliser la fonction Updated("Nom de champ") pour déterminer si un champ a changé. L’exemple de code suivant montre comment utiliser un si instruction à déterminer déterminer si le champ PaidInFull a été modifié.
If Updated("PaidInFull") Then
/* Perform actions based on changes to the field. */
End If
Le tableau suivant répertorie les commandes de macro qui peuvent être utilisées dans laaprès insérer événement.
Type de commande |
Command |
|---|---|
Déroulement de programme |
|
Flux de programme |
|
Flux de programme |
|
Bloc de données |
|
Bloc de données |
|
Bloc de données |
|
Bloc de données |
|
Action de données |
|
Action de données |
|
Action de données |
|
Action de données |
|
Action de données |
|
Action de données |
|
Action de données |
|
Action de données |
|
Action de données |
|
Action de données |
|
Action de données |
|
Action de données |
|
Action de données |
Pour créer une macro de données qui capture les après insérer événement, procédez comme suit.
Ouvrez la table pour laquelle vous voulez capturer la après insérer événement.
Sur la tableau sous l’onglet le après les événements groupe, cliquez sur après insérer.
Une macro de données vide s’affiche dans le Concepteur de macros.
Exemple
L'exemple de code suivant utilise l'événement Après suppression pour effectuer un traitement lorsqu'un enregistrement est ajouté à la table Donations. Lorsqu'un enregistrement est ajouté, le montant du don est ajouté au champ DonationsReceived dans la table Campaigns et au champ TotalDonatedField dans la table Donors.
Cliquez ici pour afficher une copie de la macro que vous pouvez coller dans le Concepteur de macros.
Pour consulter cet exemple dans le Concepteur de macros, procédez comme suit :
Ouvrez la table pour laquelle vous voulez capturer la après insérer événement.
Sur la tableau sous l’onglet le après les événements groupe, cliquez sur après insérer.
Sélectionnez le code dans l’exemple de code suivant et appuyez sur CTRL + C pour copier dans le Presse-papiers.
Activez la fenêtre du concepteur de macros, puis appuyez sur 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