Hallo Wolfgang,
danke für Deine Antwort!
ich habe in meinem Unternehmen eine Access-Datenbank (Front-
und Backend) in einem Mehrbenutzerumfeld übernommen.
Frage: ich habe mir ein Auto gekauft, kann ich damit im
Gelände fahren?
Antwort: selbstverständlich. Ob das Vehikel dafür geeignet ist, ist eine andere Frage, aber grunsätzlich können Sie mit jedem Auto im Gelände fahren.
Sorry, aber ohne zu wissen, welche Access Version du einsetzt,
kann man nur raten und vermuten.
Das heißt, es gibt im Zusammenhang mit meiner Frage (Auslagerung von Dokumenten und Zugriffsberechtigung) einen Unterschied zwischen 2000, 2003 und 2007? Konnten bei 2003 die Benutzer auf Dokumente nicht zugreifen, auf die sie bei 2007 zugreifen können?
Sorry, wenn ich gewusst hätte, dass es von Belang ist, hätte ich gleich geschrieben, dass es vermutlich 2007 ist. Es läuft bei mir übrigens unter WinXP auf einem Notebook. Wenn Prozessor, RAM und Peripherie benötigt werden, schau ich nochmal nach.
Tut mir leid, wollte nicht unhöflich sein. Aber ist das Wissen um die Version für irgend etwas in diesem Zusammenhang sachdienlich? Oder wolltest Du nur erwähnen, dass ich sie nicht nannte?
Momentan werden Dokumente in der Datenbank abgelegt, was das
Backend auf inzwischen etwa 90 MB aufgebläht hat.
Selbst bei 90 GB würde ich sagen: wenig, wenn es nicht nur 2-3
Dokumente sind.
Es sind etwa 80 angehängte Bilder und PDF Dateien. Da sie aber über das Netzwerk angebunden sind, müssen scheinbar bei jedem Start und Datenabgleich viele Daten übertragen werden. Ich weiß nicht, wie intelligent Access (abhängig von der Version?) ist, aber ich denke ein 90 GB Backend im Netzlaufwerk ist nicht effizient.
Das Problem ist, dass es in einem Netzwerkverzeichnis liegt und
Datenübertragungsrate derzeit im Keller ist
das liegt aber nicht am Access
Das habe ich nicht behauptet. Ich habe nur die aktuelle Umgebung beschrieben, in der viele Nutzer von unterschiedlichen Standorten darauf zugreifen müssen.
Je nach Last
brauchen manche Aktionen 10 oder mehr Sekunden. Wenn man alle
Dokumente entfernt (BE ca. 10 MB) dauern die Aktionen nur 1-2
Sekunden.
bei einem 10Base Netzwerk ist das vollkommen normal.
Das ist möglich. Und das ist auch der Grund, weshalb ich die Größe minimieren möchte.
Kurz gesagt: die Dokumente sollen ausgelagert werden.
ok, aber Platz auf der Festplatte werden diese auch
benötigen…
Ja, aber sie werden nur dann nachgezogen, wenn sie benötigt werden (in wahrscheinlich 0.1 Prozent der Fälle) und nicht beim Zugriff/Durchsuchen des Backends.
Aber wie verhindere ich den Zugriff der User auf diese Dokumente?
Mit Benutzerrechten auf den Ordner und/oder auf die Datei.
Denn ein Server kann das sehr gut verwalten, da jeder
Mitarbeiter muss sich ja mit Benutzernamen und Passwort im
Netzwerk anmelden.
Ok, ich habe das Gefühl, wir reden aneinander vorbei. Um mal meinen Wissensstand zusammenzufassen. Ich habe es so verstanden:
Zu einem Access Datenbankprojekt gehören neben den Tabellen auch Queries, Formulare und Berichte. Sobald ein Benutzer mit der Datenbank arbeitet, wird sie gelockt und andere Nutzer können nicht damit arbeiten. Deshalb wird sie in Mehrbenutzerumgebungen in Frontend (Formulare, Berichte, Queries) und Backend (nur Tabellen) unterteilt. So kann jeder mit seiner lokalen Frontendkopie arbeiten und das Backend wird nur während der Zeit des Zugriffs auf die Tabellen geblockt.
Frontend und Backend sind beides nur Dateien, es gibt keinen laufenden Datenbankserver. Meine Annahme ist, dass das lokal gestartete Frontend mit Benutzerrechten ausgeführt wird. Wenn neue Dokumente gespeichert werden, dann können sie nur in Ordnern abgelegt werden, auf die der Benutzer Schreibzugriff hat. Bis der jeweilige Datensatz eingefroren ist, dürfen die Dokumente gelöscht werden, danach nicht mehr. Und wenn das Frontend genau die Rechte hat, die der Benutzer hat, dann kommt er an die abgelegten Dokumente ran.
Wenn ich es richtig verstanden habe, startet das Frontend mit
Benutzerrechten.
Frage: welche denn? die des Netzwerkes/Server, oder eine extra
Benutzerverwaltung in Access?
Die Rechte der WinXP Dateiverwaltung. Darum die Frage, ob das Frontend mit anderen Rechten ausgeführt werden kann.
Es soll verhindert werden, dass der User
einmal eingecheckte und registrierte Daten später manipuliert.
*LOL*, soweit die Theorie. Über welche Dokumente reden wir
denn?
Über die Dateien, die in den file-Feldern abgelegt sind. S.o.
Geht das mit MS-Access überhaupt, ohne einen DB Server?
ja, mit einer Datenbank geht so etwas. Jedes mir bekannte DMS
greift auf eine DB zurück.
Was verstehst Du unter „eine DB“? Das Frontend? Das Backend? Einen DB-Server?
Wie gesagt habe ich nur zwei Dateien.
Ist es ein Standard-Produkt? Mit Handbuch? Programmname?
Es ist eine selbst geschriebene Datenbankanwendung, der Name ist belanglos.
Oder wie kann ich es erreichen, dass die Dokumente nur über das FE erreichbar sind?
z.B. in dem du die Dokumente in einer DB speicherst. (also so
wie es jetzt der Fall ist)
Ich meinte die ins Dateisystem ausgelagerten Dateien.
Kann das Programm mit anderen Rechten als denen des Benutzers
gestartet werden, um die Dokumente in einem für den Benutzer
nicht erreichbaren Bereich zu speichern?
*Glaskugelputz* hä? was? wie? wo? Bitte beschreibe deinen
Wunsch etwas genauer. Woher sollen wir wissen mit welchen
Rechten das Programm gestartet werden kann?
Die Frage ist, mit welchen (Dateizugriffs-)Rechten eine Access Frontenddatei standardmäßig geöffnet wird. Das kann man wissen, wenn man sich mit der Arbeitsweise von MS Access auskennt. Wenn Du es nicht weißt, wirst Du mir wahrscheinlich nicht weiter helfen können.
Trotzdem danke für den Versuch, Gruß
Michael