powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Транзакции в связанных формах
15 сообщений из 15, страница 1 из 1
Транзакции в связанных формах
    #32151056
OldPferd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробую в ADP использовать транзакции в связанных формах,
как описано у Гетца
Работает, но после установки Me.Recordset:

Код: plaintext
1.
2.
3.
    mcnnMain.ConnectionString = CurrentProject.Connection
    mcnnMain.Open
    mrst.Open StrSql, mcnnMain, adOpenKeyset, adLockOptimistic
    Set Me.Recordset = mrst

итоговые поля в примечании формы ( типа =Sum([KOL]) ) дают #Ошибка

Как проще решить проблему?
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32151096
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня вот так работает
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
rst.Open "select * from [Документы состав]", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Set Me.Recordset = rst
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32151106
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и =sum([Количество]) считаит
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32151155
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с суммовыми полями проблема - дао

читайте msdn
MSDN проблемы с агрегатными функциями

а вообще я делаю так

суммовые поля в формах

извиняюсь если кто сочтет за саморекламу ...
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32151694
alexkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
итоговые поля в примечании формы ( типа =Sum([KOL]) ) дают #Ошибка

Недолжно быть ошибки, Ошибка толко тогда будет когда поле [KOL] у тебя уже вычисляемое, но и это можно обойти :)

А вообще можешь посмотреть пример базы Который с Access идет для MSSQL там все очень понятно.
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32153669
OldPferd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно, это была ситуация, описанная в msdn
В Access 2002 все нормально (давно собирался перейти к нему,но все чего-то тянул)
Но после перехода возникла новая проблема

Пытался реализовать транзакцию всего документа
(основной формы ЗАКАЗЫ и подчиненной ЗАКАЗЫПод)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
В Form_Open ЗАКАЗЫ:
  mcnnMain.ConnectionString = CurrentProject.Connection
  mcnnMain.Open
  Set mrst = New Recordset
  mrst.Open StrSQL1, mcnnMain, adOpenKeyset, adLockOptimistic
  Set Me.Recordset = mrst
  Set mrstPod = New Recordset
  mrstPod.Open StrSQL2, mcnnMain, adOpenKeyset, adLockOptimistic
  Set Me!Подчиненная.Form.Recordset = mrstPod

При изменении данных:
   mcnnMain.BeginTrans

а в Form_Unload или по нажатию кнопки:
   mcnnMain.CommitTrans или mcnnMain.RollbackTrans


В Access 2000 это работало, все было нормально
А в Access 2002 (Office XP SP2) получается, что подчиненная форма не
участвует в транзакции, на RollbackTrans реагирует только основная

Отловил еще ситуацию - после изменений в основной форме
(произошло BeginTrans) все зависает после попытки вставки новой записи в подчиненную
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32153708
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, не понимаю я
зачем такие сложности?
ваши транзакции
на форме с подформой
нафиг не нужны
вы хоть раз спросили
у юзверов:
нужны ли им пакетные вводы
им хоцеца проще:
ввел цифирь или буковь
и чтоб запомнилось
а не жать по 10 раз:
"запомнить, сохранить, провести, а вы уверены, что действительно хотите сохранить, а может быть все-таки подумаете"
с чего вы взяли, что нужно пакетно вводить?
вы сами работали с такой "удобной" прогой?
я сам тоже поначалу делал,
оглядываясь на 1С
а потом когда сам сел за ввод
за голову схватился
и поудалял к чертовой бабушке
все сделанные самим собой
подтверждения, хотения и прочую лабуду
хотя до этого думал, что без подтерждения
никак нельзя
МОЖНО

крик у юзверов стоит: уберите эти лишние подтверждения
не могу, говорю, это стандарт
а сам думаю, кто его придумал
указывая пальцом на 1С

теперь по поводу задачи
транзакции нужны, я не спорю
но не в данной задаче
посмотрите сами, как вы извращаетесь
сколько кода пишете лишнего
а все можно сделать гораздо проще
и юзвери будут рады, да и вам спать будет
спокойно

хотя это все мое мнение
решать вам
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32153882
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все чаще встречаю
Код: plaintext
1.
2.
3.
Dim rst As ADODB.Recordset 
Set rst = New ADODB.Recordset 
rst.Open  "select * from [Документы состав]" , CurrentProject.Connection, adOpenKeyset, adLockOptimistic 
Set Me.Recordset = rst
Скажите, а чем это лучше от
Код: plaintext
Me.RecordSource= "select * from [Документы состав]" 
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32154004
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V. Motchulsky
а это интересно трудности себе
создавать
вообще рекордсеты для форм
очень осторожная вещь
даже в mdb есть глюк
у рекордсетов формы
хотя думал, что там
все отработано
а уж про adp вообще молчу
глюк на глюке
если и спользую рекодсет
формы, то только для чтения
хотя и без рекордсетов форм
можно обойтись прекрасно

это мое мнение
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32154075
OldPferd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Хам
Хотелось иметь событие "Изменение документа" для дальнейшей обработки
Увидел у Гетца пример,попробовал - все сразу и быстро получилось
Ну, наверное, как часто бывает лучшее - враг хорошего
Сталкивался с глюками - так и скажи, а чего тут разводить ...
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32154103
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял, обчитались.... Все таки правильно делаю, что книжек не читаю. А то чего только не увидиш в форуме, ну прямо Access переписывают. И зачем там события "Изменения документа"?
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32154146
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем событие? Да элементарно, Ватсон!
Простейшая задача - при изменении состава вносить изменения в шапку (статус поменять, суммы пересчитать, еще какой денормализации придумать).
Транзакция нужна. Иначе состав поменяешь, шапку не сможешь - и усе, приехали, кривые данные (последствия денормализации).
На событиях формы (Before/AfterUpdate'ы всякие) выполнять всю работу - не катит, они (формы) с своем собственном workspace'е работают (для access97), управлять им нельзя, атомарности все равно не получится. Единственная лазейка в access'овский workspace - RecordsetClone, поэтому так и колбасит при его использовании.
Можно вообще отказаться от ввода/изменения данных через табличные/ленточные формы, но тогда пользователям ни фига не удобно будет.
Можно все радактирование документа делать во временных таблицах, потом изменения реплицировать. При этом надо опять таки отслеживать что данные не изменились за это время, т.е. выполнять работу, которую сам аксес по хорошему должен делать.
Вместо всего этого гемора - всего лишь дать возможность вешать форму на свой рекордсет, в своем, полностью тобою управляемом workspace/connection. И эта полезнейшая фича - глючит :(((. Нет щастья...
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32154176
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никакого смысла я в этом не вижу. Как говорил "Хам" пора менять привычки. В ADP для этого есть серверная часть, она и должна отвечать за целостность данных. И триггеры успешно с этим справляются. Меняй данные хоть с формы, хоть с таблицы, хоть оператором UPDATE и никакая денормализация при этом не страшна. И приложение на клиенте при этом проще и счастья в этой жизни добавляется...
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32154212
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все должно работать...

может ты открываешь транзакциии несколько раз?
а завершаешь только одну?

попробуй начинать транзакцию в самом начале , при загрузке а не по событию внесение изменений

или проверь все ли транзакции завершены
(завершай пока не выдаст ошибку)
...
Рейтинг: 0 / 0
Транзакции в связанных формах
    #32154260
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 V. Motchulsky
Да в общем я согласен. Со своей колокольни 97-го уродца сужу.
Это не привычки, это жись такая...
Серверная часть в adp есть, это да. Вот в mdb - нет, в чем и жопа. Не делать же связку access+odbc+ms sql, ну его на фиг.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Транзакции в связанных формах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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