Re: Transaktionen verschachteln
- From: Thomas Möller <Thomas_N_O_S_P_A_M@xxxxxxxxxxxxxxx>
- Date: Sun, 6 Apr 2008 13:19:42 +0200
Hallo Andreas,
"Andreas Vogt" <webmaster@xxxxxxxxxxxxxxxxx> schrieb:
ich starte in einer Prozedur eine Transaktion, rufe innerhalb dieser
eine Prozedur mit Transaktion auf. Wie "merkt" die Transaktion in
erster Ebene dass in der Unterprozedur bei Fehler ein Rollback
stattfand?
Also z.B.:
....
ws.BeginnTrans
rs.edit
rs!Menge = 100
rs.update
call nextProc
if msgbox("speichern?",vbyesno) = vbyes then
ws.CommitTrans
else
ws.Rollback
End if
....
Sub nextProc
On Error goto Fehler
ws.BeginnTrans
rs.edit
rs!Menge = 100
rs.update
ws.CommitTrans
Fehler:
ws.Rollback
End sub
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IMHO sollte es ausreichen, wenn Du aus der Sub (für die innere Transaktion) eine Function machst. Diese Function liefert dann als Ergebnis zurück, ob ein CommitTrans oder ein Rollback stattgefunden hat. Im Falle eines Rollbacks kann die aufrufende Prozedur ebenfalls einen Rollback veranlassen.
Der Aufruf könnte dann ungefähr so aussehen:
If NextProc = cRollback Then
ws.Rollback
Exit Sub
End if
HTH
--
Thomas
Homepage: www.Team-Moeller.de
.
- Follow-Ups:
- Re: Transaktionen verschachteln
- From: Andreas Vogt
- Re: Transaktionen verschachteln
- References:
- Transaktionen verschachteln
- From: Andreas Vogt
- Transaktionen verschachteln
- Prev by Date: Transaktionen verschachteln
- Next by Date: Re: Transaktionen verschachteln
- Previous by thread: Transaktionen verschachteln
- Next by thread: Re: Transaktionen verschachteln
- Index(es):
Relevant Pages
|