135
•
Rollback
—
транзакцияны «кері шегіндіру».
Мысалы, FIRMA деректер қорындағы SOTR кестесінен қызметкер
туралы жазбаны алып тастау қажет. Қызметкердің жеке нөмірі —
123. ANSI/SQL жоюға сұрау салу түрі мынадай болады:
DELETE FROM SOTR WHERE ID = 123;
COMMIT;
DAO объектілер технологиясы неғұрлым икемді шешімді ұсынады:
Dim NewWs As Worspace
Dim
MyDb As Database
Dim NewRc As Recordset
Бірінші жұмыс аймағын ашу
Set NewWs = DbEngine.Worspaces(0)
Қорды ашу
Set NewDb = NewWs.Opendatabase _
("C:\DB\FIRMA.MDB")
_
Кестені ашу
Set
NewRc
=
NewDb.OpenRecordset
_
("SOTR",dbOpenDynaset)
' Тpaнзaкцияны бастауNewWs.BeginTrans
' Қажетті жеке нөмірмен қызметкерді табуCrit =
"ID = 123"
NewRc
.FindFirst
crit'Іздестіру
нәтижелерін
тексеруIf
П О
1NewRc.NoMatch then NewR^Delete 'Жжою
орындалдыMsgBoх"Орындалды !"
Else
MsgBoх"Жазба табылған жоқ ! "
NewWs.RollBack
'ЗакрытьтранзакциюEnd
End if
'Транзакцияны
өңдеу
resp = MsgBoх("Өзгерістерді тіркеу", _
vbOkCancel+vbQuestion,"Ақпарат")
If resp = vbOK then NewWs.CommitTrans
MsgBoх "Өзгерістер тіркелді ! "
Else
NewWs.RollBack
MsgBoх"Өзгерістер тоқтатылды ! "
End if