尝试通过 VBA 创建查询但不能使用任何 DAO,即使我引用了 MS Access 15.0 对象库

Trying to create a query via VBA but can't use any DAO even though I have MS Access 15.0 Object Library referenced

我刚刚注册了 Whosebug,这是我的第一个问题。我正在处理我的第一个 Access 项目。虽然我在Excel中使用VBA有一定的熟练度,但它实际上只是一个一般的编程知识,并且在网上搜索其他人给我的语法。我还没有完全弄清楚对象、方法等是如何工作的。

我们有以专有格式存储的数据,我们可以将其另存为 CSV。数据包含基于时间的数据点。我能够在 Excel 中完成需要完成的工作,但是当我们超过百万行时就失败了。 Access 可以轻松处理任务,但现在我需要创建一些代码以将数据导入具有关系的表中(完成),创建查询(卡在此处),允许用户 select 一个时间范围并将数据导出到Excel 电子表格的时间范围(后两个我应该可以)。

正如我一直对 Excel 所做的那样,我在网上寻找了正确的语法,但似乎所有内容都使用 DAO 参考。做一些事情来声明一个数据库使用 DIM 数据库为 DAO.Database 失败并显示编译错误:未定义用户定义的类型。 我读过 Microsoft Access 15.0 对象库应该 运行 所有 Microsoft DAO 3.6 对象库代码但不适合我。

所以在这个冗长的解释之后,我可以使用两个问题中任何一个的答案。

  1. 我在允许我使用 CreateQueryDef 和其他人的参考或编码方面做错了什么吗?
  2. 是否有另一种不使用 DAO 工具来创建查询的方法?

这是我在任何论坛上的第一个问题。我总是设法找到一个可以解决问题的解决方案。希望我没有违反太多 "How to post a question" 规则。如有任何帮助,我们将不胜感激。

非常感谢。

托尼普

Bob 偏离轨道。大约 15 年前曾尝试将 ADO 推入 Access,但收效甚微。

因此,从 Access 2007 开始,DAO 再次成为默认和首选引擎。

但是,它已被重命名,这就是您可能缺少的参考资料:

Microsoft Office xx.0 Access 数据库引擎对象库

在你的代码中,它仍然是 DAO。

我没有看到任何关于标准查询设计视图功能的提及。你在哪里使用这个?

这非常有用,因为一旦使用可视化设计视图进行查询,就有一个选项可以将其放入 SQL 视图中,该视图将为您提供语法....这样就可以更轻松如果必须的话,将该语法移植到 vba 语句中——尽管目前还不清楚为什么必须通过 vba.

定义查询