Ich habe eine Access 2010-Datenbank A.mdb mit einer Liste von Tabellen, von denen eine eine verknüpfte Tabelle ist, die aus einer anderen Access-Datenbank B.mdb auf der gleicher Server Diese Datenbanken befinden sich auf einem Entwicklungscomputer xxx.xxx.xxx.xxx
, der auf meinem Computer als R://
zugeordnet ist, und sie werden anschließend online auf einem yyy.yyy.yyy.yyy
-Server veröffentlicht.
Wenn ich lokal an der Datenbank arbeiten möchte, muss ich die Verknüpfung zur Tabelle ändern. Aber wenn ich es über das Dateisystem ändere (mit dem "Linked Table Manager"), wird der Link R://....
und wenn ich auf die ASP-Seite schaue, die diese Daten anfordert, ist es defekt, weil der Pfad falsch ist. Wenn ich den Link lokal ändere, funktioniert es auch nicht auf dem Online-Server.
Gibt es eine Möglichkeit, den Link "programmatisch" zu ändern? Das heißt, ohne den Linked Table Manager zu verwenden?
Ich habe nach einer Antwort gesucht, aber ich bin nicht dieser Experte, ich habe gerade verstanden, dass ich ein "Modul" schreiben muss? "Makro"?
Tabellenverknüpfungen können UNC-Pfade sein. Angenommen, ich habe eine verknüpfte Tabelle, die auf eine Datenbank in \192.168.1.2\Public\
verweist, die dem Laufwerk P:
zugeordnet ist. Wenn ich den VBA-Editor starte ( Alt + F11 ), öffne das Direktfenster ( Strg + G ) und Geben Sie ...
?CurrentDB.TableDefs("remoteTable").Connect
... es wird zurückkehren ...
;DATABASE=P:\B.accdb
... weil ich darauf hingewiesen habe, P:
zu fahren, als ich den Link erstellt habe.
Wenn ich jetzt die VBA-Funktion erstelle und ausführe ...
%Vor%... der Link ist jetzt ein UNC-Pfad.
Übrigens können Sie UNC-Links im Linked Table Manager erstellen, wenn Sie nach "Netzwerk", "Computername", "Freigabename" suchen, aber das gibt Ihnen den Computernamen (in meinem Fall \PICO\Public\B.accdb
).
Sie können mit der rechten Maustaste auf eine verknüpfte Tabelle klicken und Verknüpfter Tabellenmanager auswählen. Wählen Sie die verknüpfte Tabelle aus, an der Sie arbeiten möchten, und aktivieren Sie das Kontrollkästchen unter dem Fenster Immer nach neuem Speicherort fragen und klicken Sie auf die Schaltfläche OK.
Sie werden nach dem neuen Standort gefragt. Durchsuchen und wählen Sie die Datei und klicken Sie auf OK.
Ich möchte einen Datei-DSN in einem freigegebenen Ordner einrichten, auf den mit Lesezugriff auf unser gesamtes Netzwerk zugegriffen werden kann, und dann einen verknüpften Tabellenmanager für den UNC-Pfad verwenden. Dazu verwende ich den Linked Table Manager und richte eine Datei-DSN auf meinem Desktop ein. Ich kopiere dann und verschiebe die DSN-Datei in das freigegebene UNC-Verzeichnis. Dann gehe ich in Access und lösche die verknüpfte Tabelle und neu erstellt die verknüpfte Tabelle. Nach dem Löschen der verknüpften Tabelle mache ich Folgendes:
Angenommen, Sie haben Zugriffsberechtigungen für den Server, mit dem Sie verlinken, wird das Dialogfeld Tabellen verknüpfen angezeigt, und Sie können dann Ihre verknüpften Tabellen von dort auswählen! Microsoft könnte dies nicht weniger intuitiv machen, wenn sie es versuchten.
Tags und Links ms-access access-vba