[email protected]
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Datenbanken · DAO   |   VB-Versionen: VB4, VB5, VB626.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 OtterBewertung:  Views:  50.289 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10kein 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
 



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen [email protected]  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren [email protected]!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2022 [email protected] Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.