|
|
|
Junior Member
      
участник
Last Login: 31.08.2007 14:25
Сообщ.: 14,
Visits: 90
|
|
Public Function Trans_Test()
Dim Rs1 As ADODB.Recordset, CnnString As String, Cnn As ADODB.Connection, dbName As String
' Tbl1(*Id,fld1) , Tbl2(*Id,*fld1,fld2,fld3)
dbName = "C:\1\db1.mdb"
Set Cnn = New ADODB.Connection ' & CurrentDb.Name
CnnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbName & _
";Mode=Share Deny None;Persist Security Info=False" ' ;Mode=Share Deny None
'Cnn.IsolationLevel = adXactReadCommitted ' adXactReadUncommitted,adXactReadCommitted(Default),adXactRepeatableRead,adXactSerializable
'Cnn.Mode = adModeShareDenyWrite ' adModeUnknown adModeRead adModeWrite adModeReadWrite adModeShareDenyRead adModeShareDenyWrite adModeShareExclusive adModeShareDenyNone(Default)
'Cnn.CursorLocation = adUseServer ' adUseServer(Default) adUseClient
Cnn.Open CnnString ' Запись БЛОКИРУЕТСЯ !
Set Rs1 = New ADODB.Recordset
Rs1.Open Source:=" SELECT * FROM Tbl1 ", ActiveConnection:=Cnn, _
CursorType:=adOpenKeyset, LockType:=adLockPessimistic ',Options:=adCmdText ' adLockOptimistic adLockPessimistic
Cnn.BeginTrans
Rs1.MoveFirst
Rs1!fld1 = -1
' -2147467259 Обновление невозможно; установлена блокировка :
Cnn.Execute "UPDATE Tbl1 SET fld1 = -2 WHERE Id=1"
Cnn.Execute не может после Rs1!fld1 = -1 выполнить в этой транзакции свою работу ?
Почему так ? Возможно ли это совместить в одной транзакции ?
|
|
|
|