为什么此记录计数返回1?

Kat*_*a24 7 ms-access vba access-vba

在我的MS Access DB中,我在VB中运行一个应该返回两条记录的查询.当我在SQL中运行它时,我得到两条记录,但是当从VBA运行时,我得到两条记录.以下是SQL视图中的代码,它获取两条记录:

SELECT *
FROM tblWebMeetingData
WHERE [Last Name] LIKE 'Marx';
Run Code Online (Sandbox Code Playgroud)

当我在VBA中这样称呼时:

SQL = "SELECT * FROM tblWebMeetingData WHERE [Last Name] LIKE 'Marx';"
Set rst = CurrentDb.OpenRecordset(SQL)  
MsgBox ("Number of records: " & rst.RecordCount)
Run Code Online (Sandbox Code Playgroud)

我得到一条记录的记录.记录计数是不是要计算从SQL语句或表返回的所有记录?这是什么我在这里做错了?

谢谢

gra*_*j42 21

除了最简单的查询(性能优化)之外,DAO不会立即检索整个结果集.rst.MoveLast在打开记录集之后和检索之前强制使用完整检索和有效记录计数 rst.RecordCOunt.