Rubrik: Datenbanken · DAO | VB-Versionen: VB4, VB5, VB6 | 26.11.02 |
Anzahl Datensätze schnell ermitteln (DAO) Dieser Tipp zeigt, wie sich schnell die Anzahl der Datensätze einer Tabelle ermitteln lässt. | ||
Autor: Dieter Otter | Bewertung: | Views: 53.551 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Wie würden Sie die Anzahl der Datensätze einer Access-Datenbank (Tabelle) ermitteln?
So?
Dim Db As Database Dim Rs As Recordset Dim nCount As Long Set Db = DBEngine.OpenDatabase("Datenbank.mdb") Set Rs = Db.OpenRecordset("SELECT * FROM Tabelle") Rs.MoveLast nCount = Rs.RecordCount
Zugegeben: Eine sehr langsame Methode...
Oder vielleicht so?
Set Db = DBEngine.OpenDatabase("Datenbank.mdb") Set Rs = Db.OpenRecordset("SELECT Count(*) FROM Tabelle") If Rs.RecordCount > 0 Then nCount = Rs(0) End If
Schon besser, aber immer noch nicht schnell genug
Schneller geht es wie folgt:
Set Db = DBEngine.OpenDatabase("Datenbank.mdb") Set Rs = Db.OpenRecordset("Tabelle") nCount = Rs.RecordCount
Aber am schnellsten geht es wohl, wenn man ein Recordset erst gar nicht erstellen müsste - oder?
Geht nicht? Und ob!
Set Db = DBEngine.OpenDatabase("Datenbank.mdb") nCount = Db.TableDefs("Tabelle").RecordCount
Eine eher unbekannte Methode - aber effektiv. Und schnell