Freigeben über


Makroereignis „Nach Eingabe“

Gilt für: Access 2013, Office 2013

Das Ereignis Nach Eingabe tritt auf, wenn ein Datensatz hinzugefügt wurde.

Hinweis

Das Ereignis Nach Eingabe ist nur in Datenmakros verfügbar.

Bemerkungen

Mit dem Ereignis Nach Eingabe führen Sie sämtliche Aktionen nach dem Hinzufügen eines Datensatzes zu einer Tabelle aus. Häufig wird Nach Eingabe verwendet, um Geschäftsregeln und Workflows zu erzwingen, einen Aggregatgesamtwert zu aktualisieren oder Benachrichtigungen zu senden.

Mithilfe der Funktion Aktualisiert(„Feldname“) können Sie feststellen, ob sich ein Feld verändert hat. Das folgende Codebeispiel zeigt, wie man eine Wenn-Anweisung verwendet, um zu ermitteln, ob das Feld "VollständigBezahlt" geändert wurde.

 
If  Updated("PaidInFull")   Then 
 
    /* Perform actions based on changes to the field.   */ 
 
End If 
 

In der folgenden Tabelle sind Makros ausgeführt, die im Ereignis Nach Eingabe verwendet werden können.

Befehlstyp

Befehl

Programmablauf

Kommentar-Makroanweisung

Programmablauf

Gruppieren-Makroanweisung

Programmablauf

Wenn...Dann...Sonst-Makroblock

Datenblock

DatensatzErstellen-Makroaktion

Datenblock

DatensatzBearbeiten-Makroaktion

Datenblock

FürJedenDatensatz-Makroaktion

Datenblock

LookupRecord-Makroaktion

Datenaktion

CancelRecordChange-Makroaktion

Datenaktion

ClearMacroError-Makroaktion

Datenaktion

DeleteRecord-Makroaktion

Datenaktion

ExitForEachRecord-Makroaktion

Datenaktion

LogEvent-Makroaktion

Datenaktion

OnError-Makroaktion

Datenaktion

RaiseError-Makroaktion

Datenaktion

RunDataMacro-Makroaktion

Datenaktion

SendEmail-Makroaktion

Datenaktion

SetField-Makroaktion

Datenaktion

SetLocalVar-Makroaktion

Datenaktion

StopAllMacros-Makroaktion

Datenaktion

StopMacro-Makroaktion

Zum Erstellen eines Datenmakros, mit dem das Ereignis Nach Eingabe erfasst wird, führen Sie die folgenden Schritte aus.

  1. Öffnen Sie die Tabelle, für die Sie das Ereignis Nach Eingabe erfassen möchten.

  2. Klicken Sie auf der Registerkarte Tabelle in der Gruppe Nachfolgeereignisse auf Nach Eingabe.

Im Makro-Designer wird ein leeres Datenmakro angezeigt.

Beispiel

The following code example uses the After Insert event to perform some processing when a record is added to the Donations table. When a record is added, the amount of the donation is added to the DonationsReceived field in the Campaigns table and the TotalDonatedField in the Donors table.

Klicken Sie hier, um eine Kopie des Makros anzuzeigen, das Sie in Makro-Designer einfügen können.

Zum Anzeigen dieses Beispiels im Makro-Designer gehen Sie folgendermaßen vor:

  1. Öffnen Sie die Tabelle, für die Sie das Ereignis Nach Eingabe erfassen möchten.

  2. Klicken Sie auf der Registerkarte Tabelle in der Gruppe Nachfolgeereignisse auf Nach Eingabe.

  3. Wählen Sie den Code im folgenden Codebeispiel aus, und drücken Sie dann STRG+C, um diesen in die Zwischenablage zu kopieren.

  4. Aktivieren Sie das Makro-Designer-Fenster, und drücken Sie dann STRG+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