2013-03-10 12 views
5

W moim MS Access DB uruchamiam zapytanie w VB, które powinno zwrócić dwa rekordy. Po uruchomieniu go w SQL otrzymuję dwa rekordy, ale po uruchomieniu z VBA dostaję dwa. Oto kod w widoku SQL, która pobiera dwa rekordy:Co to jest liczba rekordów wracających 1?

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

A kiedy nazywam to w VBA tak:

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

ja dostać jeden rekord liczby rekordów. Czy liczenie rekordów nie ma na celu zliczenia wszystkich rekordów zwróconych przez instrukcję SQL lub tabelę? Co to jest, robię źle tutaj?

Dzięki

+0

Czy możliwe jest zapytanie do dwóch różnych baz danych? –

Odpowiedz

14

DAO nie odzyskać cały zestaw wyników na raz na zawsze, ale najprostszych zapytań (optymalizacja wydajności). Aby wymusić pełne pobieranie i ważny rekord, należy użyć rst.MoveLast po otwarciu zestawu rekordów i przed pobraniem rst.RecordCOunt.

+0

posortowane - teraz zwraca oba rekordy - dobra odpowiedź – Katana24