是否可以将 RecordCount 与 Criteria 一起使用
Is it possible to use RecordCount with Criteria
在 this article 中,
它显示了一个比较 table .RecordCount 如何比该文章中使用的任何其他方法快得多,但它没有提到它是否可以使用有标准。
这就是我现在的问题。 .recordcount
可以与条件一起使用吗?例如,我只希望记录计数为 return 我发票中的记录数 table,其中状态等于 "PAID"。如果可以,怎么做?
目前我在记录集上使用 for loops
来执行此操作,但是如果 recordcount 可以与条件一起使用,那么看到该文章可能会提高性能
提前致谢
因为你的table是linked,使用任何方法,但DCount非常简单:
PaidInvoiceCount = DCount("*", "InvoiceTable", "[Status] = 'PAID'")
您提供的 link 中的方法仅适用于 TableDefs,并且速度非常快:
Public Function CountRecords()
Dim lngCount As Long
Debug.Print Timer
lngCount = OpenDatabase("d:\path\test.mdb").OpenRecordset("InvoiceTable").RecordCount
Debug.Print Timer
End Function
您可以修改它以使用记录集:
Public Function CountRecords()
Dim rs As DAO.Recordset
Dim lngCount As Long
Debug.Print Timer
Set rs = OpenDatabase("d:\path\test.mdb").OpenRecordset("Select * From InvoiceTable Where [Status] = 'PAID'", dbOpenSnapshot)
rs.MoveLast
lngCount = rsFilter.RecordCount
Debug.Print Timer
rs.Close
Set rs = Nothing
End Function
但它 运行 不会比 DCount 快。
在 this article 中,
它显示了一个比较 table .RecordCount 如何比该文章中使用的任何其他方法快得多,但它没有提到它是否可以使用有标准。
这就是我现在的问题。 .recordcount
可以与条件一起使用吗?例如,我只希望记录计数为 return 我发票中的记录数 table,其中状态等于 "PAID"。如果可以,怎么做?
目前我在记录集上使用 for loops
来执行此操作,但是如果 recordcount 可以与条件一起使用,那么看到该文章可能会提高性能
提前致谢
因为你的table是linked,使用任何方法,但DCount非常简单:
PaidInvoiceCount = DCount("*", "InvoiceTable", "[Status] = 'PAID'")
您提供的 link 中的方法仅适用于 TableDefs,并且速度非常快:
Public Function CountRecords()
Dim lngCount As Long
Debug.Print Timer
lngCount = OpenDatabase("d:\path\test.mdb").OpenRecordset("InvoiceTable").RecordCount
Debug.Print Timer
End Function
您可以修改它以使用记录集:
Public Function CountRecords()
Dim rs As DAO.Recordset
Dim lngCount As Long
Debug.Print Timer
Set rs = OpenDatabase("d:\path\test.mdb").OpenRecordset("Select * From InvoiceTable Where [Status] = 'PAID'", dbOpenSnapshot)
rs.MoveLast
lngCount = rsFilter.RecordCount
Debug.Print Timer
rs.Close
Set rs = Nothing
End Function
但它 运行 不会比 DCount 快。