我试图在查询后计算记录集中的元素数量。我正在做这个
Function Test() As Variant
Dim rst As DAO.Recordset
rst = CurrentDb.OpenRecordset("SELECT salary_total FROM CompSal")
rst.MoveLast
rst.MoveFirst
Test = rst.RecordCount
End Function
Run Code Online (Sandbox Code Playgroud)
我得到这个编译错误:
非法使用财产
如何使这项工作有效?
rst被声明为 Recordset 对象。任何对象在使用之前都需要设置。与变量不同,它们不能被赋值,而是需要被设置。另外,如果可能的话,尝试清理这些物体。所以尝试一下,
Function Test() As Variant
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("SELECT salary_total FROM CompSal")
rst.MoveLast
rst.MoveFirst
Test = rst.RecordCount
Set rst = Nothing
End Function
Run Code Online (Sandbox Code Playgroud)
但是,您也可以简单地使用 a DCount,其作用完全相同。
Test = DCount("*", "CompSal")
Run Code Online (Sandbox Code Playgroud)
这比创建一个对象、在记录集中移动、所有这些都是为了获得计数要容易得多。
| 归档时间: |
|
| 查看次数: |
9859 次 |
| 最近记录: |