Ich habe ein Frontend und Backend einer Access-Datenbank. Das Frontend verweist auf verknüpfte Tabellen, und ich muss eine relative Verknüpfung statt einer expliziten verknüpfen, d. H.% Co_de% wird anstelle von "../database"
Ist das möglich, oder muss ich den absoluten Pfad angeben?
Soweit ich weiß, benötigt die Connect-Eigenschaft von TableDef einen absoluten Pfad. Wenn ich in diesem Punkt falsch liege, hoffe ich, dass jemand erzählen wird, wie man eine verknüpfte Tabelle mit einem relativen Pfad erstellt.
Schauen Sie sich das kostenlose Dienstprogramm von Armen Stein an, um Ihre Tabellenlinks zu verwalten: J Street Access Relinker
>Mit Dateien verknüpfte Tabellen (wie mdb, accdb, dbf usw.) erfordern absolute Pfade in ihren Verbindungszeichenfolgen.
Allerdings gibt es eine Problemumgehung: Während des Datenbankstarts können Sie mit vba die Links neu definieren, die dem Verzeichnis der aktuellen Datenbankinstanz entsprechen.
(Der folgende Code wurde nicht getestet / debuggt)
%Vor%End Sub
Ich habe einige der Antworten oben versucht, insbesondere die Antwort von Martin Thompson womit ich einige Fehler bekommen habe, und so wie folgt modifiziert:
%Vor%Nachdem Sie dies abgeschlossen haben, gehen Sie zu Goto Access Ribon & gt; Create & gt; Macro Wählen Sie im Drop-down-Menü " RunCode " und geben Sie im Funktionsnamen " reLinkTables "Die haben wir hier eingegeben. Speichern Sie dann das Makro mit dem Namen " AutoExec ". Jedes Mal, wenn Sie die Datenbank öffnen, werden alle verknüpften Tabellen erneut mit dem ursprünglichen Pfad verknüpft. Dies ist sehr nützlich, wenn Sie Ihre Datenbanken auf einem tragbaren Datenträger speichern.
Der folgende Code wurde im Form_Load-Ereignis des Formulars getestet, das in der "Display Form" -Option für die Datenbank aufgeführt ist; Das ist das Formular, das beim Öffnen der Datenbank geladen wird. Dieser Code könnte auch aus dem AutoExec-Makro für die Datenbank aufgerufen werden:
%Vor%Tags und Links ms-access