gpt4 book ai didi

excel - ADO 和 DAO 的区别

转载 作者:行者123 更新时间:2023-12-01 17:18:23 26 4
gpt4 key购买 nike

这不是一个更好的问题,而是一个关于为什么它们在功能上不同的问题。我遇到的问题已得到解决,但我很好奇为什么会发生这种行为。

背景 - 使用 Excel vba 从 Access 数据库中提取数据。当用户单击按钮时,将从 Access 中提取记录集,并将各种数据填充到电子表格中。然后,从不同的查询中提取另一个记录集以填充电子表格的另一部分。

ADO 的作用 - ADO 对于我的第一个记录集非常有用。但是,我的第二个记录集转到 Access 中的查询,运行并没有返回任何行。如果我在 Access 中运行此查询,它会打开(大约 3 到 4 秒后)。这个查询有多个连接、计算项、限制,可能还有联合查询(我尝试了很多不同的方式,有/没有联合等)。我尝试关闭并重新打开 ado 连接。我尝试更改超时值,甚至使用 ADO 命令进行测试来运行此数据的表查询,然后从表中提取数据(顺便说一下,这可行,但不是最好的情况,因为数据不断变化,并且我不想每次有人使用此工具时都必须运行 make table 查询)。

所以,我将第二个数据拉取更改为 DAO,你瞧,它有效了。第一个数据拉取仍然是 ADO(我通常更喜欢使用它),但现在正在考虑将其更改为 DAO,因为我宁愿在代码中使用一种数据 Access 方法。

那么,有人可以向我解释为什么 ADO 在一种情况下不会提取数据,但 DAO 会吗?再次强调,这纯粹是为了提供信息。

最佳答案

DAO 是 Jet (Ms-Access) 数据表的 native 数据 Access 方法。 ADO“Active X 数据对象”是与几乎所有类型数据库的行业友好连接。

对于标准查询,在这种情况下,ADO 没有理由像 DAO 那样返回任何记录,我怀疑查询还必须包含与 Access 数据库中的项目相关的参数。如果是这种情况,那么 ADO 将无法工作,因为它无法选择使用所述参数,因为它只是对 Excel 的外部引用,使用 DAO 方法将触发 Access 运行查询而不是 Excel,因此它将能够 Access 它自己的参数/引用。

关于excel - ADO 和 DAO 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9737099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com