BEISPIEL
Transaktionen
Möglicherweise standen auch Sie schon mal vor folgendem Problem: Sie müssen in zwei Tabellen Änderun-
gen vornehmen. Nach dem Editieren der ersten Tabelle stellen Sie fest, dass Sie auf die zweite Tabelle nicht
mehr zugreifen können, weil User XY diese exklusiv gesperrt hat.
Die Entwickler der Datenbank-Engine haben auch für diesen Fall vorgesorgt: In die Jet-Engine ist ein
leistungsfähiges Transaktionsmodell integriert.
Mit den Methoden:
BeginTrans
CommitTrans
Rollback
können Sie eine UNDO-Funktion für Datenbanken aufbauen. Beachten Sie jedoch, dass nicht alle Daten-
bankformate diese Funktionen unterstützen. Über die Transactions-Eigenschaft können Sie die Fähigkeit
einer Datenbank, Transaktionen zu ermöglichen, abfragen. Die folgende Skizze zeigt den prinzipiellen
Ablauf:
Transaktion 2
Bearbeitung von
Datensätzen
BeginTrans
CommitTrans
Rollback
Ä
nderung
übernehmen ?
JA
NEIN
BeginTrans
CommitTrans Rollback
Ä
nderung
übernehmen ?
JA
NEIN
Abbildung 6.11 Transaktionsablauf
Wie Sie der obigen Abbildung entnehmen können, ist es problemlos möglich, Transaktionen ineinander zu
verschachteln. Sie können sowohl Teiloperationen wieder rückgängig machen als auch die gesamte Bearbei-
tung.
Der Einsatz von Transaktionen in der Praxis:
Dim ws As Workspace, db As Database, tb As Recordset
Set ws = DBEngine.Workspaces(0)
335
Weitere Funktionen

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.