Beibehalten von verknüpften Tabellen für Access DBs im selben Ordner, wenn sich der Ordner ändert

8

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.

    
Caveatrob 10.02.2009, 20:41
quelle

4 Antworten

10

Aktualisieren Sie 14APR2009 Ich fand, dass die vorherige Antwort, die ich hier gab, falsch war, also habe ich sie mit neuem Code aktualisiert.

Vorgehensweise

  • Kopieren Sie den folgenden Code in ein VBA-Modul.
  • 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.

    
Renaud Bompuis 14.02.2009, 03:26
quelle
0

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.

ein

Fü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).

    
Russ Cam 10.02.2009 21:20
quelle
0

Renauds Antwort funktioniert in Access 2010 nicht mehr mit Excel- oder CSV-Dateien.

Ich habe ein paar Änderungen vorgenommen:

  • Angepasst an das aktuelle Muster für die Verbindungszeichenfolge
  • Behandelte den Datenbankpfad für Excel-Dateien (einschließlich Dateiname) und CSV-Dateien (ohne Dateinamen)

Hier ist der Code:

%Vor%     
Raketenolli 23.02.2015 14:04
quelle
0

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%     
Mike N 20.04.2015 20:43
quelle