Excel 从access数据库检索数据的UDF
如何创建UDF以从access数据库检索数据 我可以使用vba通过sql查询检索数据并单击按钮。数据将在记录集中。我只是将它粘贴到任何单元格 现在我的问题是:如何创建一个用户定义的函数来实现同样的功能。也就是说,当我在任何Excel单元格中输入类似于Excel 从access数据库检索数据的UDF,excel,vba,ms-access,bloomberg,Excel,Vba,Ms Access,Bloomberg,如何创建UDF以从access数据库检索数据 我可以使用vba通过sql查询检索数据并单击按钮。数据将在记录集中。我只是将它粘贴到任何单元格 现在我的问题是:如何创建一个用户定义的函数来实现同样的功能。也就是说,当我在任何Excel单元格中输入类似于=bdh(定价日期、产品标签)的内容时,所有数据都将返回并粘贴到我输入自定义公式的单元格下方 如果您熟悉彭博API,我想构建一个类似于bdh函数的函数。也许您可以考虑一个更简单的想法?例如,下面的代码段取决于用户选择两个输入单元格来控制输出。您可以添
=bdh(定价日期、产品标签)
的内容时,所有数据都将返回并粘贴到我输入自定义公式的单元格下方
如果您熟悉彭博API,我想构建一个类似于
bdh
函数的函数。也许您可以考虑一个更简单的想法?例如,下面的代码段取决于用户选择两个输入单元格来控制输出。您可以添加一个菜单项来运行代码
Sub GetMSAccess()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim selrange As Range
Set selrange = Selection
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Z:\Docs\Test.accdb"
cn.Open strCon
sSQL = "SELECT var1, var2 FROM table2 " _
& "WHERE var1='" & selrange.Cells(1, 1).Value _
& "' AND var2=" & selrange.Cells(1, 2).Value
rs.Open sSQL, cn
ActiveCell.Offset(1, 0).CopyFromRecordset rs
End Sub
比如说
嗨,杰克,我相当肯定,通过UDF是不可能做到这一点的。函数不能更改选定单元格之外的任何单元格。最好将记录集作为数组函数返回。彭博社有一个监视Excel的数据服务,它是数据服务,而不是将额外数据放在下面单元格中的功能。据我了解,这是一个极难实施的过程。我想,通过实现一个聪明的单元格更改事件,您可能会产生某种黑客行为,但我怀疑这是否值得。顺便说一句,一些问题展示了如何编写返回记录集的数组函数的示例(来自SQL,但我认为您可以只更改连接字符串中的提供程序以获得访问权):或Hi。丹。非常感谢你的帮助。我老板说我可以通过某种数组函数来实现。这是真的吗?你是说如果没有像任何事件更改一样的黑客攻击,就无法将数据粘贴到我输入自己的BDH函数的单元格下面。谢谢。有人建议使用Ctrl+Shift+Enter。我仍在努力寻找解决方案。=)除非你想学习如何实现一个数据服务,否则你不能,但是因为数组公式对你来说是新的,我想说,这可能不是你的选择。