MS ACCESS DATABASE - VBA程序。
我有一个' ETL'几个月来一直运行而没有对代码进行任何更改的过程。突然之间我经常出现错误"无法更新。数据库或对象是只读的#34;
鉴于我对此错误所做的研究,并且考虑到我已经详细记录了日志并且我可以确定这种情况发生的确切位置,我想我能够弄清楚为什么。唉,我不能。
在这里,就我的日志文件而言,恰好是何时/何地发生:
2014年8月5日下午4:11:18 |对于2014年8月4日更改,需要清除CWHITE2的数字为1
2014年8月5日下午4:11:18 |确定1需要清除CWHITE2,相应地设置rsPurge
2014年8月5日下午4:11:18 | rsPurge的SQL是:SELECT TOP 1 * FROM TBL_AUDIT_CLAIMS WHERE [ANALYST_USERNAME] =' CWHITE2' AND CHANGEDATE =#8/4/2014#AND LEN(''& [AUDITDATE])= 0 ORDER BY [ID]
2014年8月5日下午4:11:18 | rsPurge中有1条记录 - 循环删除
2014年8月5日下午4:11:18 |从rsPurge中删除记录
8/5/2014 4:11:18 PM发生错误,记录为:无法更新。数据库或对象是只读的。
所以,就像许多其他收到此错误的人一样,我确实 - 试图从DAO记录集中删除。但它与用于填充记录集的SQL完全相同,然后从中删除了几个月。世界上的问题是什么?它不是一个分组或总计查询...
最后,为了测试一下,我只是将这个EXACT sql粘贴在Access数据库的常规查询中,当单个记录出现时,我手动删除它 - 没问题。
欢迎任何想法!