DBEngine

JuliaSkvortsova
Дата: 02.09.2005 13:33:47
Никак не могу понять в чем проблема.
MS ACCESS 2000
Есть форма, которая показывает данные из буфферной локальной таблицы. При нажатии кнопки "Сохранить" данные разбираются и записываются на сервер в таблицу, при этом используется транзакция.
Проблема:
Если при вставке данных из формы, происходит ошибка (например, нарушение уникальности ключа), то локальная таблица намертво блокируется. Помогает только ввод DBEngine(0).CLOSE в Immediate window, при этом теряется связь с RECORDSETом формы.
Что же это за ошибка? Как ее избежать? Как можно снова открыть connection, если я его закрыла?
msn13
Дата: 02.09.2005 13:42:38
JuliaSkvortsova
При нажатии кнопки "Сохранить" данные разбираются и записываются на сервер в таблицу, при этом используется транзакция.

вопрос а нафига тебе транзакции и связь с рекодсетом формы???
запросами не пробовал пользоваться, на много быстрее!!!
Тяп-ляп
Дата: 02.09.2005 13:49:33
Ошибки обрабатываешь?
Есть ли в обработчике ошибки откат транзакции?
Покажи код
АлексейК
Дата: 02.09.2005 14:15:53
начатая транзакция должна быть завершена либо
коммитом либо ролбаком

иначе для остальных запросов записи будут заблокированы

DBEngine(0).CLOSE тоже вызывает откат транзакции так как рвется коннект
JuliaSkvortsova
Дата: 02.09.2005 15:52:21
А-а-а, теперь понятно кто у меня запись блокирует.
Я просто On Error закомментировала (для тестовой отладки).
JuliaSkvortsova
Дата: 02.09.2005 15:54:18
И поэтому у меня RollBack не работал.