Add in and find out

Datenbanken unterscheiden

Da der Code zukünftig in der anderen Datenbank lesen, aber in seine eigene Tabelle schreiben soll, müssen Sie mit den Objekt-Variablen dbsAddIn und dbsAnalyse schon jetzt zwischen beiden unterscheiden.

CurrentDB ist immer die sichtbare, vom Benutzer geöffnete Datenbank. Während der Entwicklung ist das auch die Add-In-Datenbank selber. Aber als installiertes Add-In meint es die zu untersuchende Datenbank. Um auf das Add-In selber zugreifen zu können, gibt es das Objekt CodeDB. Zur Vereinfachung beim Eintragen der gefundenen Daten wird es in die Prozedur Schreibe ausgelagert. Diese erzeugt jeweils einen neuen Eintrag in tblAnalyse, darunter auch Leerzeilen für die spätere, übersichtlichere Anzeige in der lstAnalyse. In intAnzahl zählt die Prozedur jeden Analyseschritt mit, damit Überschriften und Leerzeilen ignoriert werden können.

Bevor die Analyse beginnt, wird mit Execute "DELETE..." die Tabelle tblAnalyse geleert. Als erste Information werden Name und Größe der untersuchten Datenbank hinzugefügt. Die Anweisung String(50, "_") hebt mit den 50 Unterstrichen lediglich die Überschrift hervor.

Dann durchläuft der Code ganz herkömmlich die Tabledefs- beziehungsweise die Querydefs-Auflistung, um die Namen aller Tabellen oder Abfragen zu ermitteln. Deren RecordCount-Eigenschaft gibt die Anzahl der Datensätze an, bei Abfragen allerdings erst nach Move-Last.