Ich habe zwei Access-Datenbanken, die verknüpfte Tabellen teilen. Sie werden zusammen in einem Verzeichnis bereitgestellt und über Code in einem Word-Formular abgerufen.
Wie kann ich sicherstellen, dass die Links erhalten bleiben, wenn die beiden Datenbanken (zusammen) in einen anderen Ordner kopiert werden? Da ich die Datenbank per se nicht "öffne" (es wird über ADO zugegriffen), weiß ich nicht, wie man Code schreibt, um die Links zu aktualisieren.
Aktualisieren Sie 14APR2009 Ich fand, dass die vorherige Antwort, die ich hier gab, falsch war, also habe ich sie mit neuem Code aktualisiert.
Vorgehensweise
Geben Sie im Code oder im Immediate Fenster in der VBA-IDE einfach Folgendes ein:
%Vor% Damit werden jetzt alle verknüpften Tabellen neu verknüpft, um das Verzeichnis zu verwenden, in dem sich Ihre Anwendung befindet.
Es muss nur einmal oder jedes Mal getan werden, wenn Sie neue Tabellen neu verknüpfen oder hinzufügen.
Ich empfehle, dies bei jedem Start der Anwendung aus dem Code zu tun.
Sie können dann Ihre Datenbanken ohne Probleme verschieben.
Code
%Vor% Dieser Code wurde aus dieser Quelle angepasst: Ссылка .
Ich habe alle Abhängigkeiten von anderen Funktionen entfernt, um sie eigenständig zu machen, deshalb ist sie etwas länger als sie sollte.
Beziehen Sie sich auf das Aktualisieren der Links in Ihrem Word-Formular oder auf die verknüpften Tabellenverknüpfungen zwischen Ihren Access-Datenbanken?
Für den ersten ist der beste Weg, den ich kenne, Ihre Verbindungszeichenfolge (n) auf der Modulebene in Ihrem Word-Dokument / VBA-Projekt zu halten und sie zu Const-Strings zu machen. Geben Sie dann beim Festlegen der Verbindungszeichenfolge für Ihre ADO Connection-Objekte die relative Verbindungszeichenfolge const.
einFür Letzteres wäre ich versucht, einen relativen Pfad in der Verbindungszeichenfolge zu Daten innerhalb jeder Access-Datenbank zu dem anderen zu verwenden. Zum Beispiel
%Vor%Wenn Sie sagen, dass die Datenbanken zusammen in einen anderen Ordner kopiert werden (ich nehme an in den gleichen Ordner).
Renauds Antwort funktioniert in Access 2010 nicht mehr mit Excel- oder CSV-Dateien.
Ich habe ein paar Änderungen vorgenommen:
Hier ist der Code:
%Vor%Ich bin leider immer noch auf Access 2007. Ich habe mit einem der obigen Codebausteine angefangen, der für mich nicht funktionierte. Mit weniger Zugriff auf VBA-Leistung habe ich es nur auf die erste Schleife vereinfacht, die die Tabellenpfade erhält und sie an ihrem Platz aktualisiert. Der nächste Typ, der dazu kommt, kann kommentieren oder aktualisieren.
Option Datenbank vergleichen
%Vor%Tags und Links hyperlink ms-access linked-tables