超长查询过于频繁。救命?

时间:2011-03-07 21:45:22

标签: ms-access ms-access-2003

以下是此特定报告流程的工作方式:

  1. VBA脚本告诉Excel文件更新其外部数据。
  2. Excel文件从adhoc Access 2003 db(存储在网络上)中提取数据,进行一些格式化,然后将文件保存到网络驱动器中。
  3. VBA脚本通过电子邮件将其发送给需要数据的收件人。
  4. 我已经这么做多年了,机器有时会在数据拉动时出现零星的问题。这些是我可以获得的两条错误消息:

    • 远程服务器计算机不存在或不可用
    • 自动化错误
      调用的对象已与其客户端断开连接。

    随着时间的推移,adhoc Access数据库中的查询变得越来越复杂。今天,另外8个OR标准条款被添加到一个特定的查询中,该查询已经开始使用其中的大约10个。结果是,当我今天尝试运行更新的报告时,它在成功运行之前会出现 4 次错误。

    如果我有选项,我会直接编辑查询,看看我是否可以通过这种方式提高性能,但出于政治/安全原因这不太可能。因此,我想问你,很好的StackOverflow的贡献者,建议让它更可靠。

1 个答案:

答案 0 :(得分:1)

如果您无法自行改进查询,那么您的选项非常有限。您获得的错误消息(以及它们是零星的事实)似乎表明问题可能是由于您通过网络运行它们而造成的。

如果可能的话,我会尝试将Access数据文件复制到运行脚本的机器作为脚本的第一部分。

如果您无法重新链接Access中的表,您可以通过使用subst command模拟其正常网络位置来“欺骗”Access(当然,假设当前链接基于映射)驱动信件而非UNC)。