UDF从访问数据库中检索数据

时间:2014-02-14 05:54:55

标签: excel vba ms-access bloomberg

如何创建UDF以从访问数据库中检索数据。

我可以使用vba& amp; s通过sql查询检索数据点击按钮。数据将在记录集中。我只是将它粘贴到任何单元格。

现在我的问题是:如何创建用户定义的函数来执行相同的操作。也就是说,当我在任何Excel单元格中输入=bdh(pricing date,product tag)之类的内容时,所有数据都将返回并粘贴到我输入自定义公式的单元格下方。

如果您熟悉bloomberg API,我想构建一个类似于bdh函数的函数。

1 个答案:

答案 0 :(得分:2)

也许你可以解决一个更简单的想法?例如,下面的代码片段取决于用户选择两个输入单元来控制输出。您可以添加一个菜单项来运行代码。

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

例如

select cells