2013-07-09 2 views
2

Я читал, что MS Access поддерживает транзакции, но когда я пытаюсь его использовать, я получаю ошибку Недопустимый оператор SQL; ожидаемые «DELETE», «INSERT», «PROCEDURE», «SELECT» или «UPDATE». Все, что я пишу, это ...Доступ к транзакциям SQL?

BEGIN TRANSACTION 
    INSERT INTO MyTable1(Field1, Field2, etc...) VALUES (Value1, Value2, etc...) 
    INSERT INTO MyTable2(Field1, Field2, etc...) VALUES (Value1, Value2, etc...) 
COMMIT TRANSACTION 

Это хранимый запрос в Access. Почему это дает мне эту ошибку, если она поддерживается?

http://msdn.microsoft.com/en-us/library/office/bb208950(v=office.12).aspx

+0

Какую версию доступа вы используете – logixologist

+0

MS Access 2010 ... –

+1

[У нас есть транзакции в MS Access] (http://stackoverflow.com/questions/2078432/do-we-have-transactions-in- ms-access). Посмотрите на ответ, предоставленный @ David-W-Fenton. Быстрый ответ: реактивный двигатель не поддерживает транзакции в качестве хранимого запроса. – enigmasck

ответ

2

Операции, не поддерживаются в MSAccess, когда вы используете их в запросе. Попробуйте запустить функцию для создания этих запросов, которые вы можете сделать в модуле, и запустить ее на странице Load или даже в событии OnTimer. Вы можете использовать команды BeginTrans и Rollback внутри модуля.

Смежные вопросы