MS Access verknüpften SQL-server-Ansichten
wir haben ein Problem mit einer access-Datenbank aktualisieren, um die Verwendung von SQL Server als datenspeicher.
Diese Besondere Datenbank-links zu 2 sql-Datenbanken, so dass ich dachte, die Dinge zu vereinfachen, haben wir einen Blick in die Haupt-Datenbank, die im Zusammenhang mit jeder Tabelle in der sekundären Datenbank. Diese Weise der Zugriff würde nur noch sprechen Sie direkt mit einer SQL-Datenbank.
Wenn wir verknüpften Zugang zu der Datenbank-views, die wir wählen, welche Felder die Primärschlüssel, also die Aussicht war nicht readonly. Wir haben standard-code, die aktualisiert alle links, wenn eine Datenbank geöffnet wird, um die Abholung änderungen und die damit verbundene Ansichten werden readonly, weil die primary key-information ist verloren.
Gibt es eine Möglichkeit der Aktualisierung der links zu den Ansichten unter Beibehaltung der Primärschlüssel-Informationen?
John
- Wie sind Sie mit erfrischenden links? Auch hat die DB-Struktur zu (in sql server) ändern Sie oft für den Zugriff auf diese Informationen erhalten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe meine gesamte ODBC-Reconnect-Funktion unten. Diese Funktion gründet sich die Idee, dass ich eine Tabelle namens " rtblODBC die speichert alle Informationen, die ich tun müssen, um die Verbindung erneut herzustellen. Wenn Sie implementieren diese Funktion, werden Sie NICHT brauchen, um über den Anschluss auf mehrere SQL-Datenbanken, wie das ist, reibungslos mit jeder Tabelle verbunden werden, das seine eigenen connection string.
Wenn man gegen Ende werden Sie sehen, dass ich DAO verwenden, um erstellen Sie die primär-Schlüssel mit der db.Execute "CREATE INDEX" & sPrimaryKeyName & " AUF " & sLocalTableName & "(" & sPrimaryKeyField & "), MIT dem PRIMÄREN;"
Wenn Sie Fragen haben, bitte Fragen.
Einen guten deal-der-DSN-weniger code, der re-links access-Tabellen zum SQL-server oft löscht die links zuerst, dann erstellt den link. Der code setzt dann die Verbindungszeichenfolge. Es ist also das löschen, die bewirkt, dass Sie verlieren, was der Primärschlüssel ist/war.
Ich wirklich empfehlen, ändern Sie Ihre re-link-code als nicht löschen Sie die Tabelle links.
Probieren Sie etwas wie:
Diese Werke ein bisschen besser für mich (man beachte die verschoben end if s):
Den ODBC-check korrekt ist, obwohl die "ODBC;" - Teil nicht zeigen, in der MSysObjects-Ansicht.