DoCmd.OpenQuery(“myQueryName”)不在代码中执行但是手动工作

时间:2012-08-01 19:20:28

标签: vba ms-access-2007 access-vba

我继承了一个我试图解开的Access数据库,所以我可以让它实现其预期目的。我似乎遇到了一个相对简单的障碍,但我以前从未见过这个问题,所以它让我抛出一个循环。

有几个陈述是徒劳的:

DoCmd.OpenQuery ("myQueryName")

当我在代码中单步执行时,代码会执行,但查询的操作(APPEND,UPDATE等)不会发生。当我手动运行它们时,它们会执行必要的操作。

任何人都可以提供一些见解,因为这似乎是导致数据库无法准确实现其预期目的的障碍吗?

可能有用的两点信息。构建是Access 2003,但我在Access 2010中作为2003数据库文件运行。此外,原作者在查询中放置了注释,不能手动运行它们。我认为这是为了提醒用户不要弄乱事情(尽管阻止查询被手动运行是一项糟糕的工作!!!),但我想也许有一些东西可以帮助触发解决方案。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

你知道什么,我在发布这个问题后找到了答案。这就是我一直以来的想法。 DoCmd.OpenQuery通常不会打开查询,但不会执行它。对于操作查询,您需要db.Execute "myQueryName"或带有DoCmd.RunSQL的SQL语句。