verknüpfte Tabelle nur Lesen
Ich habe eine access 2003 (mdb) - Datenbank auf Wohnprojekte ich ein update für unsere lokalen Planungsbüro auf vierteljährlicher basis. Andere Leute in unserem Büro profitieren könnten sehen Sie die gleichen Daten. Ich dachte, der einfachste Weg war, um Ihnen eine separate access-Datenbank (egal ob version 2003 oder 2007), die Verknüpfung von Ausgangs-Tabelle habe ich aktualisiert. Um jedoch zu verhindern, dass Sie versehentlich ändern der Quelle der Daten, wenn die Anzeige, ich möchte, um die verknüpfte Tabelle nur Lesen.
Irgendwelche Hinweise auf so beschränken Sie den Zugriff auf Berechtigungen für verknüpfte Tabellen in Access 2007?
InformationsquelleAutor ako | 2013-10-07
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie speichern könnte die db-Datei in einem freigegebenen Ordner der anderen Benutzer haben nur-lese-Berechtigung. Dann sollten Sie noch in der Lage sein, um anzeigen, aber nicht ändern, die Daten in der verknüpften Tabelle.
Wenn dieser Vorschlag ist nicht zufriedenstellend, können Sie eine Abfrage verwenden, um zu begrenzen, um nur-lese-Zugriff. In der Datenbank-Sie geben die Nutzer, die nicht über einen link auf der Quell-Tabelle in der anderen Datenbank. Stattdessen geben Sie eine Abfrage, die feststellt, die Quell-Tabelle ohne Verknüpfung ... in der form
FROM TableName IN '[path to db file]'
Ist hier ein getestetes Beispiel:
Jedoch, dass Abfrage-Ergebnis könnte noch bearbeitet werden. Sie können die Werte in der Spalte read-only-Feld mit Ausdrücken an die Stelle der tatsächlichen Feldwerte.
Diese waren einfache Transformationen, um die Werte zu Lesen-nur. Aber Sie können auch andere Techniken verwenden als angemessen. Zum Beispiel, wenn die Tabelle enthält eine Datum/Uhrzeit-Feld, das Sie nutzen könnten
CStr()
oderFormat()
.Hinweis: ich habe ein alias, das war klar aus dem Feld name mit diesen Funktionen. In einigen Fällen Zugang wird sich über eine "rekursive alias", wenn Sie versuchen, um re-nutzen Sie das Feld name als alias. Aber testen Sie einfach Ihren alias-Auswahl in der Abfrage-designer, um schnell herauszufinden, welche akzeptabel sind.
Spät, um das Spiel mit dieser Antwort, aber das ist etwas, das MS-Access-Entwickler gelegentlich tun müssen...
...Und es ist geheimnisvoll, weil wir uns mit einem nur-lese-query mit einer intern definierten Verbindungszeichenfolge, und die "Abfrage-Eigenschaften" - Fenster nicht ganz das tun, was Sie erwarten würden, es zu tun.
Tatsächlich, ich glaube nicht, dass die Fenster tut, was die Microsoft-Entwickler, implementiert die 'Source-Connection-String' - Eigenschaft erwartet entweder.
Aber, Arkane oder nicht, ist hier, wie etwas zu tun, das funktioniert wie ein nur-lese-verknüpfte Tabelle aus einer anderen MS-Access-Datenbank:
Tabelle oder was Felder, die Sie sind, verwerfen Sie die SQL-sowieso.
Ansicht'
Offensichtlich sind Sie mit Ihrem eigenen Datenbank-Adresse und die Tabelle name; und müssen Sie möglicherweise nicht über die password-Klausel.
Verpassen Sie nicht diese Anführungszeichen vor der Verbindungszeichenfolge: Sie sind nicht gestellt, da für Sie durch die integrierten Eigenschaften-Dialog beim einfügen in eine Verbindungszeichenfolge, und Sie wirklich brauchen, Sie.
Du bist noch nicht getan: es ist immer noch-Lesen-schreiben:
Ansicht'
Fenster, wo die Tabellen angezeigt werden, und wählen Sie " Eigenschaften..."
und die Quelle " - dies ist die Tabelle Eigenschaftenblatt, und Sie wollen die
Abfrage Eigenschaftenblatt...
Holen Sie sich die volle Eigenschaftenfenster für die Abfrage.
.
Können Sie benennen Sie die Abfrage um den Namen der Tabelle, oder nicht: es werden noch arbeiten in einer Abfrage, als ob es war ein Tisch, und man könnte nur sparen Sie einige Verwirrung, wenn man ihm einen Namen, der deutlich macht, dass dies nicht wirklich eine Tabelle. Das ist wichtig, in jedem code, der erwartet, dass ein DAO-TableDef-Objekt, und enthält code, der re-links von externen Tabellen für Sie.
Werden Sie feststellen, dass Ihre Verbindungszeichenfolge (nur-text-Kennwort und alle) in den query-Eigenschaften-Fenster unter "Source Connection String'. Im ernst, nicht Bearbeiten: wenn Sie Glück haben, werde es einfach ersetzen Sie zwei doppelte Anführungszeichen in den SQL mit ein paar einfachen Anführungszeichen, und die Abfrage wird immer noch funktionieren. Aber Sie werden wahrscheinlich verlieren die Anführungszeichen ein, wenn Sie kopieren und einfügen in eine neue Verbindungszeichenfolge, und dann brechen Sie die Abfrage, und keiner von den Fehlermeldungen und Hilfe-Seiten sagen Sie, dass Sie benötigen diese Magie Anführungszeichen in die raw-SQL.
Ich vermute, dass es andere Menschen ohne Papiere 'gotcha' fallen bei Abfragen auf externe Objekte: wenn Sie diesen hack auf, um Ihre Kolleginnen und Kollegen, ich raten Ihnen dringend, pass auf, die Warnung 'Du fertig bist mit dem Abfrage-Fenster. Tun Sie nichts anderes hier' weil diese Art von trap verschwenden Stunden Ihrer Zeit und Ihre.
Auch: sicher sein, um zu dokumentieren, was Sie getan haben: die meisten tools zum wiederherstellen der Verbindung verknüpfte Tabellen nicht abholen eine Abfrage mit einer externen Quelle, und das ist ein Fehler warten, um zu beißen, wer versucht hop zwischen 'DEV', Test' und 'Produktion' - Datenbanken.