方法 .GetRows 返回空 - Access VBA

Method .GetRows returning Empty - Access VBA

我正在尝试创建一个函数来检索 table 中存在的所有数据以用作数组。但是,当我使用 .GetRows 方法(获取行数,以便我可以与它们交互)时,它返回 0.

这是我使用的编码:

    Option Compare Database

Function ListAllDatainTable(TableName As String) As String
    Dim dbsNorthwind As DAO.Database
    Dim rs As DAO.Recordset
    Dim varRecords As Variant
    Dim intNumRows As Integer
    Dim intNumColumns As Integer
    Dim intColumn As Integer
    Dim intRow As Integer
    Dim strSQL As String
    Dim temp As String
    Dim value As String
    
    
    temp = ""
    value = ""
    


Set dbsNorthwind = CurrentDb
strSQL = "SELECT * FROM " & TableName
Set rs = dbsNorthwind.OpenRecordset(strSQL)


varRecords = rs.GetRows()

intNumColumns = UBound(varRecords, 1)
intNumRows = UBound(varRecords, 2)

For intRow = 0 To intNumRows
    temp = varRecords(intRow, 0)
    value = value & "," & temp
Next intRow

ListAllDatainTable = value


rs.Close
dbsNorthwind.Close


Set rs = Nothing
Set dbsNorthwind = Nothing



End Function

本应显示行数的变量intNumRows显示为0。

我正在使用的 table 有一个单列,但可以有任意数量的行。

感谢您的帮助!

此致!

试试这个:

Set rs = dbsNorthwind.OpenRecordset(strSQL)
rs.MoveLast
rs.MoveFirst
varRecords = rs.GetRows(rs.RecordCount)