使用公共vba函数从adodb连接中检索完整的记录集

时间:2019-11-25 08:45:49

标签: excel vba function select adodb

我有一个csv文件作为数据库。我设置了vba公共功能,可以从该数据库中选择一个数据并将其放入单元格中。效果很好。但是现在,我不想选择单个数据,而是选择多个数据,我想将其放在一列中,从我要写入函数的单元格开始。

这是公共功能的代码:

Public Function IdBanks(estado As Variant, Fecha As Date, Grupo As String, Optional identificador As String)
et = estado
gi = Grupo
myid = identificador
Dim myfc As String
Dim xlcon As ADODB.Connection
Dim xlrs As ADODB.Recordset
Set xlcon = New ADODB.Connection
Set xlrs = New ADODB.Recordset
Dim currentDataFilePath As String
Dim currentDataFileName As String
Dim nextRow As Integer

currentDataFilePath = "X:\FINDATA\DATA\" & et & "\" & et & gi
currentDataFileName = "" & et & gi
myfc = DateToText(Fecha)
xlcon.Provider = "Microsoft.Jet.OLEDB.4.0"
xlcon.ConnectionString = "Data Source=" & currentDataFilePath & ";" & "Extended Properties=""text;HDR=Yes;"""
xlcon.Open
MyQuery = "SELECT ENT AS DATO FROM [" & currentDataFileName & ".csv] WHERE FECHA='" & myfc & "'"
On Error GoTo misErrores
Set xlrs = xlcon.Execute(MyQuery)
    resultado = xlrs.Fields(0)
    xlrs.Close
    Set xlrs = Nothing
    xlcon.Close
    Set xlcon = Nothing
    IdBanks = resultado
    Exit Function
    misErrores:
    IdBanks = "."

End Function

现在,我在单元格中编写公共函数,如下所示:

formula in a cell

但是,不幸的是,我在包含公式的单元格中获得了第一条记录,如下所示:

Result in a cell

我想要的是以下内容:

Results in multiple cells

我如何设法移至下一个单元格并写入记录集中的所有结果?

0 个答案:

没有答案