方法 .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)
我正在尝试创建一个函数来检索 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)