powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема с транзакцией.
6 сообщений из 6, страница 1 из 1
Проблема с транзакцией.
    #32563542
tim2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедура содержит 3 управляющих запроса. В начале открываю транзакцию, при сбое в любом из запросов - откат.
Проблема в том, что запрос №2 создает новую запись в Таблице1, а перед выполнением запроса №3 надо получить из Таблицы1 id новой, только что добавленной записи. Выражение типа:
Код: plaintext
lngId = DLookup("[id]", "Таблица1", "[Ляля] = " & Me![Поле1])
вызывает ошибку: "Недопустимое использование Null".
Если без транзакции, то все работает. Если указанное выражение переделать в запрос на выборку и остановить программу, не закрывая транзакцию , то запрос ничего не вернет.
Как решить проблему? Закрывать транзакцию после запроса №2, получать значение, а потом открывать новую транзакцию - не вариант, все 3 запроса должны выполняться или "откатываться" вместе.
...
Рейтинг: 0 / 0
Проблема с транзакцией.
    #32563593
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как решить проблему? Не использовать DLookup

DLookup, DMin, DMax и т.п. - работают в своем собственном Workspace'е, у которого свои собственные транзакции. Соответственно записи, добавленные из чужого воркспейса - не видны воркспейсу DLookup'а. Пока транзакция не завершена, конечно.
...
Рейтинг: 0 / 0
Проблема с транзакцией.
    #32563648
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использовать Recordset
...
Рейтинг: 0 / 0
Проблема с транзакцией.
    #32563653
tim2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я правильно понял: после выполнения запроса №2, перед запросом №3, что типа:
Код: plaintext
1.
 Set rst = CurrentDb.OpenRecordset("Select [id].[Tаблица1] From Таблица1 Where...")
lngПреременная = rst!id
и все это, не закрывая транзакцию, так?
...
Рейтинг: 0 / 0
Проблема с транзакцией.
    #32563656
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да
...
Рейтинг: 0 / 0
Проблема с транзакцией.
    #32563891
tim2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблема с транзакцией.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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