powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Завершение транзакции для WorkSpace
4 сообщений из 4, страница 1 из 1
Завершение транзакции для WorkSpace
    #32473913
Elena Gadjieva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня такая ситуация:
Есть процедура, в которой есть запросы через DAO и через ADO. Хочу выполнить эту процедуру как единую транзакцию. Для этого в начале процедуры выполняю:
MyWorkSpace.BeginTrans
MyConnection.BeginTrans

Затем, когда я в конце процедуры делаю следующее :
MyWorkSpace.CommitTrans мне выдается ошибка:"Попытка занесения или свертывания транзакции без предварительного начала транзакции". Не могу понять, что могло вызвать занесение транзакции в процессе выполнения программы :(. С помощью какого метода можно посмотреть состояние транзакции?

Заранее спасибо за помощь!
...
Рейтинг: 0 / 0
Завершение транзакции для WorkSpace
    #32474112
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какая версия Access?
где расположен MyWorkSpace.BeginTrans
в "обычном" модуле ?
Желательно было бы видеть больше подробностей - кто такие
MyWorkSpace и MyConnection - то есть как создаются и КТО они - функции, возвращающие объектные переменные, или собственно объектные переменные.

----------------
ЗЫ не зная деталей - одна из самых возможных причин - "завершение" кода, создающего MyWorkSpace с "отпусканием" VBA до вызова MyWorkSpace.CommitTrans (разумеется с повторной инициализацией)
...
Рейтинг: 0 / 0
Завершение транзакции для WorkSpace
    #32474239
Elena Gadjieva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приложение на Access 2000.
Процедура обработки находится в обычном модуле (т.е. НЕ в модуле формы)
Переменные
Global MyWorkSpace As Workspace
Global MyConnection As New ADODB.Connection объявлены в другом модуле

Инициализируются они в форме-заставке, которая открывается при открытии приложения.
Set MyWorkSpace= DBEngine.Workspaces(0)
MyConnection.ConnectionString = "Driver=sql Server;Server=" & MyServer & ";UID=" & MyUID & ";PWD=" & MyPWD & ";Database=" & MyDatabase
MyCnn.Open

Ой, пока я набирала этот ответ, я решила поэксперементировать с объявлением MyWorkSpace и сделала так :Global MyWorkSpace As DAO.Workspace . После этого, вроде бы ошибка перестала появляться. Но все-таки вопрос остается.
А что имелось ввиду под фразой ""завершение" кода, создающего MyWorkSpace с "отпусканием" VBA " ?
...
Рейтинг: 0 / 0
Завершение транзакции для WorkSpace
    #32474348
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА что имелось ввиду под фразой ""завершение" кода, создающего MyWorkSpace с "отпусканием" VBA " ?

вообще-то я предполагал, что инициализация и доступ производится производится функциями в том же модуле. тогда есть вероятность обратиться "не к тому объекту" (так что мое предположение не работает. )

а "имелось ввиду" примерно следующее:
"поднятый" проект vba (путем вызова функции или переменной, в зависимости от версии Access и производимых действий) имеет право быть "завершенным" (БУДЕМ СЧИТАТЬ - ВЫГРУЖЕННЫМ ИЗ ПАМЯТИ исполнителя), когда в нем отпадает необходимость ИЛИ произведены изменения в проекте (не проверял, но может оказаться зависимым от "режима компиляции"). Одно из таких событий - внесение изменений в проект vba - правка кода.
вот сценарий изменения проекта
шаг 1
пусть есть 2 формы - первая выполняет
Set MyWorkSpace= DBEngine.Workspaces(0)
во второй есть контрол, в котором выводится MyWorkSpace.Name

пускаем форму 1, закрываем ее

затем форму 2 - все работет

шаг 2

создаем новую форму3 и мастером размещаем на ней кнопку закрытия формы.
сохраняем.
шаг 3 запускаем форму 2 и получаем ошибку неинициализированного объекта.
---------------------
все это не ваш случай.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Завершение транзакции для WorkSpace
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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