Hallo, allerseits!
Zum Finetuning:
- schleife die alle Verknuefungen loescht.
Hängt vom Ansatz ab. Wenn alle Tabellen aus Quelldatenbank zu verwenden sind, i. O. Ansonsten Tabellen beibehalten und .Connect neu setzen oder Namenskonvention definieren von aus-/einzuschließenden Tabellen.
Obacht auch bei Tabellen, die aus mehreren Quelldatenbanken kommen.
- Pfad von CurrentDB feststellen.
Oder alternativ aus einer internen Tabelle/Ini-Datei einen definierten Pfad/Datei auslesen (z. B. Netzwerk) oder per Datei-Auswahl-Dialog, falls Pfad/Datei nicht existiert, einstellen lassen und für den nächsten Start speichern.
- Backend-MDB in neuem Workspace oeffnen.
Muss gar nicht mal in neuem Workspace sein. Normales .OpenDatabase langt.
- Frontend-MDB in neuem Workspace oeffnen.
Muss ebenfalls nicht sein. Frontend muss gar nicht geöffnet werden; ist doch schon offen. DoCmd.TransferDatabase mit Link langt.
- Die Tabellen der Backend-MDB durchlaufen und die
Verkuepfungen in Frontend neu anlegen.
MSys* dabei auslassen. Optional weitere Tabellen auslassen (siehe 1.)
- In CurrentDB Refresh auf die Verknuepfungen
I. d. R. eigentlich auch nicht nötig.
Die Laufzeit hängt dabei weniger von der Tabellenanzahl als vielmehr auf dem Zugriff auf die Daten-Datenbank ab. Das wird, wenn sich die Datei auf einem (am Ende noch langsamen) Netzwerkverzeichnis liegt und mehrere User drauf zugreifen, u. U. recht langwierig. Daher würde ich nur den Refresh machen, wenn auf die Daten nicht zugegriffen werden kann (z. B. nach „Umzug“ im Netz). Dazu einfach einen Eintrag (oder die Anzahl der Datensätze) einer Tabelle auslesen und im Fehlerfall den Refresh anstoßen.
Damit hat man schon einmal die wesentlichen möglichen Probleme beim Programmstart erschlagen.
Gruß, Manfred