Freigeben über


Makroereignis "Nach Aktualisierung"

Gilt für: Access 2013, Office 2013

Das Ereignis Nach Aktualisierung tritt auf, wenn ein Datensatz geändert wurde.

Hinweis

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

Bemerkungen

Mit dem Ereignis Nach Aktualisierung führen Sie sämtliche Aktionen nach dem Ändern eines Datensatzes aus. Häufig wird Nach Aktualisierung verwendet, um Geschäftsregeln 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. The following code example shows how to use an If statement to determine determine whether the PaidInFull field has been changed.

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

Mit der folgenden Syntax können Sie auf einen vorherigen Wert in einem Feld zugreifen.

[Old].[Field Name]

For example, to access the previous value of the QuantityInStock field, use the following syntax.

[Old].[QuantityInStock]

Am Ende des Ereignisses Nach Aktualisierung werden die vorherigen Werte dauerhaft gelöscht.

In der folgenden Tabelle sind Makros ausgeführt, die im Ereignis Nach Aktualisierung 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 Aktualisierung erfasst wird, führen Sie die folgenden Schritte aus.

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

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

Im Makro-Designer wird ein leeres Datenmakro angezeigt.

Beispiel

Im folgenden Codebeispiel wird das Ereignis Nach Aktualisierung verwendet, um ein benanntes Datenmakro auszuführen, mit dem der Kommentar-Tabelle stets ein Datensatz hinzugefügt wird, wenn der Status eines Problems aktualisiert wird.

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 Aktualisierung erfassen möchten.

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

  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 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="&quot;-- Status changed to &quot; &amp; [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="&quot;-- Issue resolved as &quot; &amp; [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