Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Транзакция на dao c формами не получается ... / 12 сообщений из 12, страница 1 из 1
29.11.2003, 19:09
    #32338504
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция на dao c формами не получается ...
транзакцию на DAO делаю, работаю с данными через формы и вот:
1. В одной форме открываю BeginTrans, но после попытки откатить или CommitTrans
ругается, что транзакция и не начата ....
код тривиален ...
Private Sub Form_Open(Cancel As Integer)
Set wrkCur = DAO.DBEngine.Workspaces(0)
wrkCur.BeginTrans
fTr = True
End Sub
....
If fTr = True Then
wrkCur.CommitTrans
fTr = False
End If
......

2. В другой подобной форме все ок, не ругается,
но нехрена не работает.... ни откатывает ....

чем мне занятся? :)
...
Рейтинг: 0 / 0
29.11.2003, 19:27
    #32338507
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция на dao c формами не получается ...
Попробуй Form_Load
...
Рейтинг: 0 / 0
29.11.2003, 19:30
    #32338508
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция на dao c формами не получается ...
Я бы вообще не рекомендовал использовать транзакции. С ними геморроя слишком много, да и к тому же очень негибкая это вещь!
...
Рейтинг: 0 / 0
29.11.2003, 19:48
    #32338510
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция на dao c формами не получается ...
Попробуй Form_Load
я наоборот попробовал на форм_опен :)
пробовал и ado, тоже самое ...

Я бы вообще не рекомендовал использовать транзакции

ну тады порекомендуй как отменять изменения в форме с несколькими подчинёнными
...
Рейтинг: 0 / 0
29.11.2003, 19:56
    #32338511
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция на dao c формами не получается ...
2Артист
А ты массивами пользуйся
...
Рейтинг: 0 / 0
29.11.2003, 20:30
    #32338515
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция на dao c формами не получается ...
ну тады порекомендуй как отменять изменения в форме с несколькими подчинёнными

А ты массивами пользуйся

Я как раз таки третий день пытаюсь сделать это с помощью массивов. И я уже на 2\3 пути к успеху :)
...
Рейтинг: 0 / 0
29.11.2003, 20:31
    #32338516
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция на dao c формами не получается ...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Form_Open(Cancel As Integer) 
Set wrkCur = DAO.DBEngine.Workspaces( 0 ) 
wrkCur.BeginTrans 
fTr = True 
End Sub 
.... 
If fTr = True Then 
wrkCur.CommitTrans 
fTr = False 
End If 

А где тут РЕКОРДСЕТЫ????????????????????????????
...
Рейтинг: 0 / 0
29.11.2003, 20:38
    #32338519
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция на dao c формами не получается ...
Вот так я представляю себе транзакцию...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Private WithEvents frmChild As Form

    Dim W As DAO.Workspace
    Dim RecSet1 As DAO.Recordset
    Dim RecSet2 As DAO.Recordset
    Dim b As Boolean

Private Sub Form_Load()

    Set W = DBEngine.Workspaces( 0 )
    Set frmChild = Me!calc.Form
    Set RecSet1 = CurrentDb.OpenRecordset( "..." )
    Set RecSet2 = CurrentDb.OpenRecordset( "..." )
    
    Set Me.Recordset = RecSet1
    Set Me!calc.Form.Recordset = RecSet2
    b = False
    
End Sub

Private Sub Form_Dirty(Cancel As Integer)

If b = False Then
    W.BeginTrans
    b = True
End If

End Sub

Private Sub frmChild_Dirty(Cancel As Integer)

If b = False Then
    W.BeginTrans
    b = True
End If

End Sub
...
Рейтинг: 0 / 0
29.11.2003, 21:32
    #32338524
(c)VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция на dao c формами не получается ...
2 Артист
код тривиален ...
Private Sub Form_Open(Cancel As Integer)
Set wrkCur = DAO.DBEngine.Workspaces(0)
wrkCur.BeginTrans
fTr = True
End Sub
....
If fTr = True Then
wrkCur.CommitTrans
fTr = False
End If

А как ты думаешь, переменная wrkCur существует после end sub ?
...
Рейтинг: 0 / 0
29.11.2003, 21:55
    #32338528
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция на dao c формами не получается ...
2 VIG:

Это зависит от того, где она описана. Если не в этой процедуре, значит выше. Значит, существует.
...
Рейтинг: 0 / 0
29.11.2003, 22:06
    #32338533
(c)VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция на dao c формами не получается ...
Тем не менее стоит проверить.
...
Рейтинг: 0 / 0
29.11.2003, 22:25
    #32338544
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция на dao c формами не получается ...
выше, выше она описана :)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Транзакция на dao c формами не получается ... / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]