【问题标题】:DoCmd.OpenQuery ("myQueryName") Not Executing in Code but Working ManuallyDoCmd.OpenQuery ("myQueryName") 不是在代码中执行而是手动工作
【发布时间】:2012-08-01 19:20:27
【问题描述】:

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

有几种说法是徒劳的:

DoCmd.OpenQuery ("myQueryName")

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

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

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

非常感谢您的帮助!

【问题讨论】:

  • Execute & RunSQL 既可以采用存储查询也可以采用直接 SQL,不同之处在于 Execute 在运行操作查询之前不会警告您,而 RunSQL 会,除非您关闭警告(不推荐,Execute 是更好的选择)

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多