2013-03-10 43 views
5

在我的MS Access數據庫我在VB中運行一個查詢應該返回兩條記錄。當我在SQL中運行它時,我得到兩條記錄,但是當從VBA運行時,我得到兩條記錄。下面是其中增加了兩個記錄的SQL視圖代碼:此記錄計數返回1是什麼?

SELECT * 
FROM tblWebMeetingData 
WHERE [Last Name] LIKE 'Marx'; 

當我把這個在VBA像這樣:

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

我得到的記錄數的一個記錄。記錄計數是否設想計算從SQL語句或表中返回的所有記錄?我在這裏做錯了什麼?

感謝

+0

是否有可能查詢兩個不同的數據庫? – 2013-03-10 12:06:53

回答

14

DAO不檢索整個結果集一次爲所有,但最簡單的查詢(性能優化)。在打開記錄集之後和檢索rst.RecordCOunt之前,強制完整檢索和有效記錄計數使用 rst.MoveLast

+0

排序 - 它現在返回兩個記錄 - 很好的答案 – Katana24 2013-03-10 12:39:18