Discussion:
Tabellen als readonly einbinden (VBA)
(zu alt für eine Antwort)
Tommy Müller
2005-05-04 18:29:15 UTC
Permalink
Hallo, weiss jemand Rat: Ich möchte Tabellen von fremden Access-Datenbanken
per VBA Code in eine Access-Anwendung einbinden, wobei diese nur "read-only"
, d.h.schreibgeschützt zur Verfügung stehen sollen, egal welche Rechte der
aktuelle User gerade hat.
Ist es besser dem CreateTable-Befehl Parameter mitzugeben (und wenn ja,
welche? -bisher hat nix funktioniert)?
Oder soll man dem Connect-Befehl Parameter mitgeben?
Es gibt wohl Attribute wie acReadOnly, vbReadOnly, dbReadOnly,
A_ReadOnly,... Welcher ist hier angebracht?

In freudiger Erwartung
Tommy
Olaf Rabbachin
2005-05-05 12:44:01 UTC
Permalink
Hi,
Post by Tommy Müller
Ich möchte Tabellen von fremden Access-Datenbanken
per VBA Code in eine Access-Anwendung einbinden, wobei diese nur "read-only"
, d.h.schreibgeschützt zur Verfügung stehen sollen, egal welche Rechte der
aktuelle User gerade hat.
Ist es besser dem CreateTable-Befehl Parameter mitzugeben (und wenn ja,
welche? -bisher hat nix funktioniert)?
Oder soll man dem Connect-Befehl Parameter mitgeben?
Es gibt wohl Attribute wie acReadOnly, vbReadOnly, dbReadOnly,
A_ReadOnly,... Welcher ist hier angebracht?
das Einlinken von Tabellen kann nicht read-only erfolgen - über diesen Weg
haben Benutzer (je nach Rechten) immer vollen Schreibzugriff.
Alternativ kannst du aber die Tabelle(n) einlinken und dann jew. eine
Abfrage erstellen, die du über deren Eigenschaften so einstellst, dass
Schreibzugriffe unterbunden werden.
Öffne die Abfrage dazu im Entwurfsmodus und mache einen Rechtsklick in den
leeren Bereich des designers. Wähle im Kontextmenü "Eigenschaften" aus und
dann im Feld "Datensatzgruppentyp" (resp. "Recordset Type") den Wert
"Snapshot" aus.
Du musst die Tabelle(n) aber eigentlich gar nicht per link in deine DB
holen, sondern kannst das auch direkt über die Abfrage selbst regeln,
Beispiel:

SELECT *
FROM [C:\Test.mdb].tbl_Test;

Obiges stellt dir (ohne Tabelle) die Tabelle tbl_Test aus C:\Test.mdb
direkt zur Verfügung. Wenn du sie dergestalt einbindest und wie weiter oben
erläutert als Snapshot bereitstellst, kann niemand Daten ändern oder
anfügen und es existiert dann auch keine eingelinkte Tabelle, über die das
doch noch gehen könnte.

Bis dann,
Olaf [MVP]
--
Bitte keine emails auf NG-postings.

My .02: www.Resources.IntuiDev.com

Loading...