从 SQL 中提取一列值并将它们放入数组 VBA [关闭]

Posted

技术标签:

【中文标题】从 SQL 中提取一列值并将它们放入数组 VBA [关闭]【英文标题】:Pulling an column of values from SQL and putting them in an array VBA [closed] 【发布时间】:2013-05-23 18:24:53 【问题描述】:

我正在尝试从我们的数据库中获取员工编号列表,以便可以遍历它们以查找按员工编号列出的信息。它们不是连续的,因此计数器不起作用。我不知道如何取出所有这些数据并能够在不将其放入电子表格的情况下使用它。

任何帮助将不胜感激。如果您还有其他问题,请随时提出。

【问题讨论】:

select employee_number from your_table group by employee_number order by employee_number; 但是我将如何遍历这些数据? ***.com/questions/3955061/… 但我并不想使用 excel 中的值。我将从带有员工信息的 SQL 数据库转到一个数组,该数组将被迭代以从另一个数据库中提取时钟信息。 所以你只需创建一个 DO..loop 并继续直到记录集 .EOF 属性为真。 【参考方案1】:

我认为这应该可以将字段放入数组中。

Option Compare Database

Sub field_to_array()

    Dim db As Database
    Dim rs As Recordset
    Dim eID As Field
    Dim myArray() As String
    Dim i As Integer
    Dim rcount As Integer


    Set db = CurrentDb()
    Set rs = db.OpenRecordset("MyTable")
    Set eID = rs.Fields("employee_id")

    rcount = rs.RecordCount
    i = 1

    ReDim myArray(1 To rcount)

    For i = 1 To rcount
        myArray(i) = name
        rs.MoveNext
    Next

    rs.Close

End Sub

Function call_col_array()
    field_to_array
End Function

【讨论】:

我不明白为什么你有一个 Sub 和一个调用 sub 的函数? Option Compare Database 仅用于 Access,不能用于 Excel。 我以为您需要稍后调用 Sub 的函数,我对 VBA 还是很陌生。如果不需要,我想它应该被删除。我输入了选项比较数据库,因为我认为这是用于 Access,而不是 Excel。

以上是关于从 SQL 中提取一列值并将它们放入数组 VBA [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从字符串中提取整个字符串范围的子字符串并将它们放入数组中?

简单地从firebase数据库中提取所有用户并将它们放入一个有效的数组中吗?

VBA - 如何从一列中随机选择 10% 的行,确保它们不同并将 Y 放在 B 列中?

Excel从列中提取和平均值

在 VBA 中使用文件对话框

BASH - 如何从 CSV 文件中的列中提取数据并将其放入数组中?