2013-03-10 11 views
5

In meinem MS Access DB Ich führe eine Abfrage in VB, die zwei Datensätze zurückgeben sollte. Wenn ich es in SQL ausführe, erhalte ich zwei Datensätze, aber wenn ich von VBA lief, bekomme ich zwei. Hier ist der Code in der SQL-Ansicht, die zwei Datensätze bekommt:Wie lautet die Anzahl der Datensätze, wenn 1 zurückgegeben wird?

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

Und wenn ich dies in VBA nennen wie so:

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

ich einen Datensatz für die Anzahl der Datensätze. Ist die Anzahl der Datensätze nicht so hoch, dass alle Datensätze gezählt werden, die von einer SQL-Anweisung oder Tabelle zurückgegeben werden? Was mache ich hier falsch?

Dank

+0

Ist es möglich, dass Sie zwei verschiedene Datenbanken abfragen? –

Antwort

14

DAO abrufen nicht das gesamte Ergebnis für alle auf einmal gesetzt, aber die einfachsten Abfragen (Performance-Optimierung). Um einen vollständigen Abruf und eine gültige Datensatzanzahl zu erzwingen, verwenden Sie rst.MoveLast nach dem Öffnen des Recordsets und vor dem Abrufen rst.RecordCOunt.

+0

sortiert - es gibt jetzt beide Datensätze zurück - gute Antwort – Katana24

Verwandte Themen