Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Workspace.Rollback Method (DAO)

Office 2013 und höher

Letzte Änderung:Mittwoch, 29. Juni 2011

Gilt für:Access 2013 | Access 2016

Beendet die aktuelle Transaktion und setzt die Datenbanken im Workspace -Objekt in den Zustand, wenn die aktuelle Transaktion gestartet wurde.

Ausdruck.Rollback

Ausdruck Eine Variable, die ein Workspace-Objekt darstellt.

Die Transaktionsmethoden BeginTrans, CommitTransund Rollback verwalten Transaktionsverarbeitung während einer Sitzungs durch ein Workspace -Objekt definiert. Sie verwenden diese Methoden mit einem Workspace -Objekt, wenn Sie eine Reihe von Änderungen an den Datenbanken in einer Sitzung als eine Einheit behandelt werden sollen.

In der Regel verwenden Sie die Integrität Ihrer Daten, wenn Sie beide Datensätze in mindestens zwei Tabellen aktualisieren müssen Transaktionen und stellen Sie sicher, dass die Änderungen abgeschlossen werden (Commit) in allen Tabellen oder keine an (Rollback). Wenn Sie Geld von einem Konto an eine andere übertragen, können Sie beispielsweise subtrahieren einer und addieren Sie die in eine andere. Wenn eine der Aktualisierungen fehlschlägt, stimmen die Konten nicht mehr. Verwenden Sie die BeginTrans -Methode vor dem Aktualisieren des ersten Datensatzes, und klicken Sie dann, wenn alle nachfolgende Aktualisierung ein Fehler auftritt, können die Rollback -Methode alle Aktualisierungen rückgängig machen. Verwenden Sie die CommitTrans -Methode, nachdem Sie den letzten Datensatz erfolgreich aktualisiert.

Hinweis Hinweis

In einem Workspace -Objekt Transaktionen sind immer in den Arbeitsbereich global und nicht beschränkt auf nur einem Connection- oder Database -Objekt. Wenn Sie Operationen für mehrere Verbindungen oder Datenbanken innerhalb einer Transaktion Workspace durchführen, wirkt sich das Auflösen der Transaktion (die CommitTrans- oder Rollback -Methode verwendet) alle Vorgänge für alle Verbindungen und Datenbanken innerhalb dieses Arbeitsbereichs.

Nachdem Sie CommitTransverwenden, können nicht Sie Änderungen rückgängig gemacht werden während der Transaktion, wenn die Transaktion in einer anderen Transaktion geschachtelt ist, die selbst ein Rollback ist. Wenn Sie Transaktionen schachteln, müssen Sie die aktuelle Transaktion beheben, bevor Sie eine Transaktion auf einer höheren Schachtelungsebene auflösen können.

Wenn Sie gleichzeitige Transaktionen mit überlappenden, nicht geschachtelten Bereichen wünschen möchten, können Sie zusätzliche Workspace -Objekte für die gleichzeitigen Transaktionen erstellen.

Wenn Sie ein Workspace -Objekt schließen, ohne ausstehende Transaktionen aufzulösen, wird automatisch ein Rollback für die Transaktionen ausgeführt.

Wenn Sie die CommitTrans oder Rollback -Methode verwenden, ohne vorher die BeginTrans -Methode, tritt ein Fehler auf.

Einige ISAM-Datenbanken, die in einem Microsoft Access-Arbeitsbereich verwendet unterstützen keine Transaktionen, in diesem Fall wird die Transactions -Eigenschaft des Database -Objekt oder Recordset -Objekts False. Stellen Sie sicher, dass die Datenbank Transaktionen unterstützt, überprüfen Sie den Wert der Transaktionen -Eigenschaft des Database -Objekts vor der Nutzung der BeginTrans -Methode. Wenn Sie ein Recordset -Objekt basierend auf mehrere Datenbanken verwenden, überprüfen Sie die Transactions -Eigenschaft des Recordset -Objekts. Wenn ein Recordset vollständig auf Tabellen Microsoft Access-Datenbankmoduls basiert, können Sie immer Transaktionen verwenden. Recordset -Objekte basierend auf Tabellen, jedoch von anderen Datenbankprodukten erstellt, unterstützen keine Transaktionen. Sie können nicht beispielsweise Transaktionen in einem Recordset-Objekt basierend auf einer Paradox-Tabelle verwenden. In diesem Fall wird die Transactions -Eigenschaft False. Wenn die Datenbank oder Recordset Transaktionen nicht unterstützt, die Methoden werden ignoriert, und tritt kein Fehler auf.

Wenn Sie über das Microsoft Access-Datenbankmodul auf ODBC-Datenquellen zugreifen, können Sie Transaktionen nicht schachteln.

In ODBC-Arbeitsbereichen Wenn Sie CommitTrans verwenden der Cursor möglicherweise nicht mehr gültig. Verwenden Sie die Requery -Methode zeigen Sie die Änderungen im Recordset-Objektoder schließen und erneut öffnen des Recordset-Objekts.

  • Die Leistung der Anwendung lässt sich oftmals dadurch verbessern, dass Operationen unterbrochen werden, die Datenträgerzugriff auf Transaktionsblöcke erfordern. So werden die Operationen zwischengespeichert, und die Zugriffe auf den Datenträger können deutlich verringert werden.

  • In einem Microsoft Access-Arbeitsbereich werden Transaktionen in einer Datei gespeichert, in dem durch die TEMP-Umgebungsvariable auf der Arbeitsstation angegebenen Verzeichnis protokolliert. Wenn die Transaktionsprotokolldatei den verfügbaren Speicherplatz auf dem Laufwerk TEMP verbraucht, löst das Datenbankmodul einen Laufzeitfehler. Zu diesem Zeitpunkt Wenn Sie CommitTransverwenden, eine unbestimmte Anzahl von Operationen engagieren, aber die verbleibenden nicht abgeschlossener Vorgänge verloren, und des Vorgangs muss neu gestartet werden. Bei Verwendung einer Rollback -Methode gibt das Transaktionsprotokoll und ein Rollback für alle Vorgänge in der Transaktion.

  • Schließen eines Klons Recordset-Objekt in einer ausstehenden Transaktion, wird eine implizite Rollback -Operation verursacht.

Anzeigen: