- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果 Excel 有 UDF,我如何从 Access 中获取查询结果?
我收到以下错误:“ 运行时错误‘3085’:表达式中未定义的函数‘XXXX’”。从 Excel VBA 打开( Access 查询)记录集时发生错误。正在打开的查询具有触发错误的用户定义函数 (UDF)。
代码在 Excel Office 365 中。查询在 Access Office 365 中。
我已经成功地使用了被调用的查询(以及其他使用 UDF 的查询)大约十二个月,并且“突然”它不再工作了。我用谷歌搜索并测试了许多选项,但都没有成功。
大多数线程说它无法完成,或者不使用 udf 但尝试使用内置的。我正在挑战这些回应,因为它以前曾奏效过。我使用的主要 udf 是一个名为“iMax”的 udf,它在其他帖子中有所介绍。它的功能类似于 Excel 中的 max()。 (No max(x,y) function in Access)
我还看到建议分两步执行此操作的线程: 1 - 将查询更改为生成表查询。 2 - 将表格结果拉入 Excel。虽然我可能会侥幸逃脱(经过多次返工),但它会导致我制作许多包含成千上万行的临时表,并且看起来不太流畅。
我已经编译了 vba 并压缩了数据库,对我的问题没有影响。
作为一个长镜头,我创建了一个虚拟数据库,其中包含一个返回数字 1 的简单 udf 公共(public)函数、一个返回三个记录的简单查询和一个用于函数结果的字段。拉入 Excel 时会出现相同的错误。
Sub RunQuery()
Dim MyDatabase As dao.Database
Dim qdf As dao.QueryDef
Dim rs As dao.Recordset
Dim qryname As object
Dim SheetName As String
Set MyDatabase = DBEngine.OpenDatabase _
("SomePath\SomeFilename.accdb")
For Each qryname In Range("SomeRange")
Set rs = MyDatabase.OpenRecordset(qryname) '<<<ERROR IS HERE
SheetName = "SomeSheetName"
With Sheets(SheetName)
.ListObjects(SomeTableName).DataBodyRange.Rows.ClearContents
.Range("A2").CopyFromRecordset rs
End With
Set rs = Nothing
Set qdf = Nothing
Next qryname
End Sub
最佳答案
Most threads say it can't be done,
关于excel - 使用 VBA OpenRecordset 从 Access Query 到 Excel 的用户定义函数 (UDF) 失败 - 未定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55869041/
我有两组代码,它们是相同的,我只是将变量更改为另一组存在的变量,现在使用我更改的那些代码,我收到一条错误消息:“运行时错误‘3061’:参数太少。预期为 6。” 这是更改后的代码: Dim rec
我将几个大表从 AccessDB 拆分到后端数据库,没有出现任何问题。 接下来,我需要打开一个记录集来替换各种麻烦的字符。当表位于本地时,以下代码段工作正常,但 Access 现在提示该表已链接,但未
运行 Access 2016 我正在尝试从 Excel 的 MS Access .mdb 表中导入数据。 (我的客户使用的专有软件只能识别 *.mdb 文件。)当我在表关闭时运行此代码时,出现错误:
databasename = "qryDataExport" Dim grpfield As String grpfield = "Group" Dim keys As DAO.Recordset g
我正在 MS Access 中用 VBA 编辑一些东西。谁能告诉我以下两个陈述之间的区别。 1. Set rs1 = CurrentDb.OpenRecordset("tblOPCEPLTB") 2.
我试图按路线生成账单,因此我按属于特定路线的客户对其进行了分割,然后对每个客户汇总他们的每周费率以编制月费率。 问题是,即使使用 SELECT * IN [table] 打开记录集也不会返回任何结果,
对于以前使用过 VBA for Access 的人来说,这是一个非常简单的问题。 Set S = CurrentDb.OpenRecordSet("select COLUMN from TABLE")
我有一个名为 qryAlloc_Source 的查询,它在一个条件下有两个参数: >=[forms]![frmReportingMain]![txtAllocStart] And <=[forms]!
如果 Excel 有 UDF,我如何从 Access 中获取查询结果? 我收到以下错误:“ 运行时错误‘3085’:表达式中未定义的函数‘XXXX’”。从 Excel VBA 打开( Access 查
Private Sub update () Dim db As Database Set db = CurrentDb Dim rs As Recordset Set r
我正在运行 MS Access 2007,连接到 MS SQL 2008 R2 服务器。我有一个带有多选框的表单,用于更新所选服务器的多个字段的状态。目前我在多选框中使用 ServerName 字段。
我是一名优秀的程序员,十分优秀!