|
|
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
Пробую в ADP использовать транзакции в связанных формах, как описано у Гетца Работает, но после установки Me.Recordset: Код: plaintext 1. 2. 3. итоговые поля в примечании формы ( типа =Sum([KOL]) ) дают #Ошибка Как проще решить проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2003, 15:17 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
у меня вот так работает Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset rst.Open "select * from [Документы состав]", CurrentProject.Connection, adOpenKeyset, adLockOptimistic Set Me.Recordset = rst ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2003, 15:48 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
и =sum([Количество]) считаит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2003, 15:53 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
с суммовыми полями проблема - дао читайте msdn MSDN проблемы с агрегатными функциями а вообще я делаю так суммовые поля в формах извиняюсь если кто сочтет за саморекламу ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2003, 16:43 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
итоговые поля в примечании формы ( типа =Sum([KOL]) ) дают #Ошибка Недолжно быть ошибки, Ошибка толко тогда будет когда поле [KOL] у тебя уже вычисляемое, но и это можно обойти :) А вообще можешь посмотреть пример базы Который с Access идет для MSSQL там все очень понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2003, 12:00 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
Действительно, это была ситуация, описанная в msdn В Access 2002 все нормально (давно собирался перейти к нему,но все чего-то тянул) Но после перехода возникла новая проблема Пытался реализовать транзакцию всего документа (основной формы ЗАКАЗЫ и подчиненной ЗАКАЗЫПод) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. В Access 2000 это работало, все было нормально А в Access 2002 (Office XP SP2) получается, что подчиненная форма не участвует в транзакции, на RollbackTrans реагирует только основная Отловил еще ситуацию - после изменений в основной форме (произошло BeginTrans) все зависает после попытки вставки новой записи в подчиненную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2003, 17:31 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
ну, не понимаю я зачем такие сложности? ваши транзакции на форме с подформой нафиг не нужны вы хоть раз спросили у юзверов: нужны ли им пакетные вводы им хоцеца проще: ввел цифирь или буковь и чтоб запомнилось а не жать по 10 раз: "запомнить, сохранить, провести, а вы уверены, что действительно хотите сохранить, а может быть все-таки подумаете" с чего вы взяли, что нужно пакетно вводить? вы сами работали с такой "удобной" прогой? я сам тоже поначалу делал, оглядываясь на 1С а потом когда сам сел за ввод за голову схватился и поудалял к чертовой бабушке все сделанные самим собой подтверждения, хотения и прочую лабуду хотя до этого думал, что без подтерждения никак нельзя МОЖНО крик у юзверов стоит: уберите эти лишние подтверждения не могу, говорю, это стандарт а сам думаю, кто его придумал указывая пальцом на 1С теперь по поводу задачи транзакции нужны, я не спорю но не в данной задаче посмотрите сами, как вы извращаетесь сколько кода пишете лишнего а все можно сделать гораздо проще и юзвери будут рады, да и вам спать будет спокойно хотя это все мое мнение решать вам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2003, 18:07 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
Все чаще встречаю Код: plaintext 1. 2. 3. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2003, 00:32 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
V. Motchulsky а это интересно трудности себе создавать вообще рекордсеты для форм очень осторожная вещь даже в mdb есть глюк у рекордсетов формы хотя думал, что там все отработано а уж про adp вообще молчу глюк на глюке если и спользую рекодсет формы, то только для чтения хотя и без рекордсетов форм можно обойтись прекрасно это мое мнение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2003, 10:20 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
2 Хам Хотелось иметь событие "Изменение документа" для дальнейшей обработки Увидел у Гетца пример,попробовал - все сразу и быстро получилось Ну, наверное, как часто бывает лучшее - враг хорошего Сталкивался с глюками - так и скажи, а чего тут разводить ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2003, 11:30 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
Понял, обчитались.... Все таки правильно делаю, что книжек не читаю. А то чего только не увидиш в форуме, ну прямо Access переписывают. И зачем там события "Изменения документа"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2003, 11:51 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
Зачем событие? Да элементарно, Ватсон! Простейшая задача - при изменении состава вносить изменения в шапку (статус поменять, суммы пересчитать, еще какой денормализации придумать). Транзакция нужна. Иначе состав поменяешь, шапку не сможешь - и усе, приехали, кривые данные (последствия денормализации). На событиях формы (Before/AfterUpdate'ы всякие) выполнять всю работу - не катит, они (формы) с своем собственном workspace'е работают (для access97), управлять им нельзя, атомарности все равно не получится. Единственная лазейка в access'овский workspace - RecordsetClone, поэтому так и колбасит при его использовании. Можно вообще отказаться от ввода/изменения данных через табличные/ленточные формы, но тогда пользователям ни фига не удобно будет. Можно все радактирование документа делать во временных таблицах, потом изменения реплицировать. При этом надо опять таки отслеживать что данные не изменились за это время, т.е. выполнять работу, которую сам аксес по хорошему должен делать. Вместо всего этого гемора - всего лишь дать возможность вешать форму на свой рекордсет, в своем, полностью тобою управляемом workspace/connection. И эта полезнейшая фича - глючит :(((. Нет щастья... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2003, 12:19 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
Никакого смысла я в этом не вижу. Как говорил "Хам" пора менять привычки. В ADP для этого есть серверная часть, она и должна отвечать за целостность данных. И триггеры успешно с этим справляются. Меняй данные хоть с формы, хоть с таблицы, хоть оператором UPDATE и никакая денормализация при этом не страшна. И приложение на клиенте при этом проще и счастья в этой жизни добавляется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2003, 12:43 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
все должно работать... может ты открываешь транзакциии несколько раз? а завершаешь только одну? попробуй начинать транзакцию в самом начале , при загрузке а не по событию внесение изменений или проверь все ли транзакции завершены (завершай пока не выдаст ошибку) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2003, 13:02 |
|
||
|
Транзакции в связанных формах
|
|||
|---|---|---|---|
|
#18+
2 V. Motchulsky Да в общем я согласен. Со своей колокольни 97-го уродца сужу. Это не привычки, это жись такая... Серверная часть в adp есть, это да. Вот в mdb - нет, в чем и жопа. Не делать же связку access+odbc+ms sql, ну его на фиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2003, 13:37 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32154212&tid=1681623]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 297ms |

| 0 / 0 |
