Freigeben über


BeginTrans-, CommitTrans- und RollbackTrans-Methoden (ADO)

Gilt für: Access 2013, Office 2013

Durch diese Transaktionsmethoden wird die Transaktionsverarbeitung in einem Connection-Objekt wie folgt verwaltet:

  • BeginTrans - Eine neue Transaktion wird begonnen.

  • CommitTrans - Alle Änderungen werden gespeichert, und die aktuelle Transaktion wird beendet. Möglicherweise wird auch eine neue Transaktion gestartet.

  • RollbackTrans - Alle während der aktuellen Transaktion vorgenommenen Änderungen werden abgebrochen, und die Transaktion wird beendet. Möglicherweise wird auch eine neue Transaktion gestartet.

Syntax

Ebene = -Objekt. BeginTrans()

-Objekt. BeginTrans

-Objekt. Committrans

-Objekt. RollbackTrans

Rückgabewert

BeginTrans kann als Funktion aufgerufen werden, von der eine Long-Variable zurückgegeben wird, durch die die Schachtelungsebene der Transaktion angegeben wird.

Parameter

Parameter Beschreibung
Objekt Ein Connection -Objekt.

Verbindung

Verwenden Sie diese Methoden mit einem Connection-Objekt, wenn Sie eine Reihe von an den Quelldaten vorgenommenen Änderungen als einzelne Einheit speichern oder abbrechen möchten. Beispielsweise subtrahieren Sie zum Übertragen von Geldbeträgen zwischen Konten einen Betrag von einem Konto und addieren den gleichen Betrag zu einem anderen Konto. Wenn eine der Aktualisierungen fehlschlägt, sind die Konten nicht mehr ausgeglichen. Durch das Vornehmen dieser Änderungen mit einer geöffneten Transaktion wird sichergestellt, dass alle oder keine der Änderungen durchlaufen.

Hinweis

Transaktionen werden nicht von allen Anbietern unterstützt. Überprüfen Sie, ob die vom Anbieter definierte Eigenschaft Transaction DDL in der Properties-Auflistung des Connection-Objekts angezeigt wird, was angibt, dass der Anbieter Transaktionen unterstützt. Wenn Transaktionen vom Anbieter nicht unterstützt werden, wird beim Aufrufen einer dieser Methoden ein Fehler zurückgegeben.

Nach dem Aufrufen der BeginTrans -Methode wird vom Anbieter erst wieder sofort ein Commit für vorgenommene Änderungen ausgeführt, wenn Sie CommitTrans oder RollbackTrans aufrufen, um die Transaktion zu beenden.

Bei Anbietern, die geschachtelte Transaktionen unterstützen, startet der Aufruf der BeginTrans-Methode innerhalb einer geöffneten Transaktion eine neue, geschachtelte Transaktion. Der Rückgabewert gibt die Ebene der Schachtelung an: Der Rückgabewert "1" gibt an, dass Sie eine Transaktion auf oberster Ebene geöffnet haben (d. h. die Transaktion ist nicht in einer anderen Transaktion geschachtelt), "2" gibt an, dass Sie eine Transaktion der zweiten Ebene (eine Transaktion, die in einer Transaktion der obersten Ebene geschachtelt ist) geöffnet haben usw. Das Aufrufen von CommitTrans oder RollbackTrans wirkt sich nur auf die zuletzt geöffnete Transaktion aus. Sie müssen die aktuelle Transaktion schließen oder ein Rollback ausführen, bevor Sie Transaktionen auf höherer Ebene auflösen können.

Durch das Aufrufen der CommitTrans -Methode werden in einer geöffneten Transaktion vorgenommene Änderungen für die Verbindung gespeichert, und die Transaktion wird beendet. Durch Aufrufen der RollbackTrans -Methode werden alle Änderungen, die in einer geöffneten Transaktion vorgenommen wurden, rückgängig gemacht, und die Transaktion wird beendet. Durch das Aufrufen einer der Methoden ohne geöffnete Transaktion wird ein Fehler generiert.

Abhängig von der Attributes-Eigenschaft des Connection -Objekts wird durch das Aufrufen der Methoden CommitTrans oder RollbackTrans möglicherweise automatisch eine neue Transaktion gestartet. Wenn die Attributes-Eigenschaft auf adXactCommitRetaining festgelegt ist, wird nach einem CommitTrans-Aufruf automatisch vom Anbieter eine neue Transaktion gestartet. Wenn die Attributes -Eigenschaft auf adXactAbortRetaining festgelegt ist, startet der Anbieter nach einem Aufruf von RollbackTrans automatisch eine neue Transaktion.

Remote Data Service

Die Methoden BeginTrans, CommitTrans und RollbackTrans stehen für ein clientseitiges Connection-Objekt nicht zur Verfügung.