gpt4 book ai didi

excel - 使用 UDF 进行查询在 Access 中有效,但在 Excel 中的表达式 (Err 3085) 中给出未定义函数

转载 作者:行者123 更新时间:2023-12-04 21:26:29 25 4
gpt4 key购买 nike

我有一个带有日期/时间字段的 Access 表。我想从日期/时间字段和其他 3 个文本字段中创建一个复合键字段,格式与另一个数据库中的匹配键字段相同。

因此,我连接了 3 个文本字段并在模块中编写了一个用户定义函数,以将日期字段输出为格式为“YYYYMMDD”的字符串。

Public Function YYYYMMDD(dteDate As Date) As String
YYYYMMDD = Format(dteDate, "YYYYMMDD")
End Function

然后我可以在 Access 中成功运行我的查询,一切正常。

但是当我在 Excel 中设置一些 DAO 代码并尝试运行在 Access 中运行良好的查询时......
db.Execute "qryMake_tblValsDailyAccount"

...Excel 给了我“表达式中的未定义函数。(错误 3085)”错误。

对我来说,这是 Excel 和/或 Access 中的一个错误,因为 (Excel) 客户端不应该需要知道任何有关内部计算的信息,这些计算通常在隔离时在 (Access) 服务器中完美进行。

Excel 应将 querydef(不带参数的名称)发送到服务器,让服务器完成其工作,然后接收答案。为什么它需要参与服务器内部的功能?

有谁知道解决这个问题的方法?

最佳答案

Access使用Jet,Access和Jet结合理解VBA函数。 DAO 是一个不理解 VBA 函数的通用数据 Access 层。

当您使用 DAO 时,您并没有使 Access 自动化,而只是使用该桥接器来获取数据。

尽管某些版本的 Access 在内部使用 DAO 与 Jet 进行通信,但理解 VBA 的能力被编程到 Access 中,而不是 DAO。

我认为你的解决方法是你能做的最好的。

关于excel - 使用 UDF 进行查询在 Access 中有效,但在 Excel 中的表达式 (Err 3085) 中给出未定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2828609/

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