Der Linked Tables Manager kann das Profil nicht bestimmen
EnsureLinks, Check oder eine andere ohne Profil aufgerufene Methode löst wkeNotConfigured mit der Meldung „Kein
Profil angegeben, und die Tabellen passen zu keinem Profil eindeutig (DEV, TEST …)“ aus. Im Designer meldet die Seite
Profile „Die Tabellen passen zu keinem Profil eindeutig.“
Umgebung
WKL Forms Object Library mit WklLinkManager, eine Konfiguration, deren USysConnection mindestens ein Profil nennt, in
ACCDB, ACCDE oder Access Runtime.
Ursache
Ohne Argument Environment und ohne die Eigenschaft Environment nimmt der Linked Tables Manager das Profil, mit dem die
Tabellen gerade verknüpft sind. Ist das nicht eindeutig, weigert er sich zu raten:
- Noch keine konfigurierte Tabelle ist verknüpft (ein neues Frontend, oder die Verknüpfungen wurden gelöscht).
- Die Tabellen sind zur Hälfte mit einem und zur Hälfte mit einem anderen Profil verknüpft, zum Beispiel nach
Relinkeiner einzelnen Tabelle, sodass zwei Profile gleich gut passen. - Die Verknüpfungen zeigen auf Quellen, die die Konfiguration für kein Profil nennt (die Konfiguration wurde nach dem Verknüpfen geändert).
Eine Verknüpfung mit einem geratenen Profil könnte ein Frontend mit Produktionsdaten verbinden; der Fehler ist deshalb gewollt.
Lösung
- Nennen Sie das Profil beim Start:
EnsureLinks "PROD", oder setzen SieEnvironmenteinmal (links.Environment = "PROD"), bevor Sie Methoden ohne Argument aufrufen. - Um zu sehen, womit die Tabellen verknüpft sind, führen Sie
Checkmit jedem Profil aus (Debug.Print links.Check("DEV").Count, links.Check("TEST").Count) oder öffnen Sie die Designerseite Prüfen und abgleichen. - Bringen Sie alle Tabellen mit
EnsureLinks "<profile>"(oder Alle aktualisieren im Designer) auf ein Profil; danach funktionieren Aufrufe ohne Profil wieder.