2014-08-27 155 views
0

我尝试读取MS ACCESS中的未提交数据,以便对结果进行“预览”: 我开始会话并更改数据库中的数据。 我用这些数据打开报告。 我回滚我的更改。MS ACCESS读取未提交

该报告必须读取未提交的数据,我尝试“SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED”,但可以说“SET”不是有效的关键字。 我也尝试“有UR”和访问说“语法错误”

有没有解决方案来更改隔离级别在查询开始时未提交,并将隔离级别更改为在最后提交?

我VBA部分代码:

Dim Wrk As Workspace 
Set Wrk = DBEngine.Workspaces(0) 
Wrk.BeginTrans 
'... 
'All the database modifications 
'... 
DoCmd.close 
DoCmd.OpenReport "Preview Form" 'Only reading 
MsgBox "Printed !" 
Wrk.Rollback 
+0

你是不是想针对JET数据库执行Transact-SQL? – 2014-08-27 09:16:38

回答

1

更改ODBC配置:

1.- Control Panel --> Administrative Tools --> Data Sources (ODBC) 
2.- Your DSN --> Configure --> Advanced Settings 
3.- Set SQL_TXN_ISOLATION=1. 

更多信息:

http://msdn.microsoft.com/en-us/library/ms525699(v=vs.90).aspx

问候

+0

是否有解决方案在查询或VBA代码中将其暂时更改? 顺便说一句我没有找到选项,这里是我查看的选项:http://imgur.com/YTuamSa – Kromen 2014-08-27 08:57:51

+0

请参阅此主题:http://www.tek-tips.com/viewthread.cfm?qid= 1245040 – esmoreno 2014-08-27 10:58:27

+0

你说我不可能在Access中做到这一点? – Kromen 2014-08-27 12:25:12