Wer seine Daten mit einer Datenbank verwaltet, greift nicht unbedingt nur allein auf diese Daten zu. Es kommt auch vor, dass die enthaltenen Daten von mehreren Mitarbeiteren bearbeitet werden sollen – und dies unter Umständen auch noch gleichzeitig. Dieser Artikel liefert die Grundlagen zum Einsatz von Access als Datenlieferant im Mehrbenutzerbetrieb.
Beispieldatenbank
Die Beispiele zu diesem Artikel finden Sie in der Datenbank 1106_Multiuser.mdb, 1106_Multiuser_FE.mdb und 1106_Multiuser_BE.mdb.
Wie alles beginnt
Es kommt nicht selten vor, dass Daten in einer Excel-Datei gespeichert werden, die von mehreren Personen bearbeitet wird. Dies erfordert bestimmte Voraussetzungen: Zunächst müssen alle beteiligten Mitarbeiter Zugriff auf die Excel-Tabelle erhalten. Dies kann man so regeln, dass diese per E-Mail von Mitarbeiter zu Mitarbeiter geschickt wird oder man legt die Excel-Datei einfach auf einem Rechner ab, der von den betroffenen Mitarbeitern erreichbar ist.
Die erste Lösung löst schnell Chaos aus: Wenn die Datei auf mehreren Rechnern liegt und hin- und hergeschickt wird, gibt es schnell parallel bearbeitete Dateien. Das Ablegen auf einem Server ist sinnvoll, wenn man direkt auf diese Datei zugreift. Sobald diese jedoch auf den eigenen Rechner kopiert wird, können theoretisch auch gleich mehrere Mitarbeiter verschiedene Versionen bearbeiten – auch das ist problematisch.
Die einzige Lösung für diesen Fall ist ein Dokumentenmanagementsystem wie etwa SharePoint: Hier darf nur jeweils ein Mitarbeiter ein Dokument auschecken und dieses bearbeiten. Erst wenn dieser das Dokument wieder eingecheckt hat, darf der nächste Mitarbeiter darauf zugreifen.
Wenn die Excel-Datei dann noch Daten enthält, auf die viele Mitarbeiter oft schreibend zugreifen müssen, sinkt die Produktivität schnell, weil immer nur eine Person gleichzeitig auf das Dokument zugreifen kann.
In solchen Fällen ist es sinnvoll, wenn irgendwo ein Access-Programmierer in der Nähe ist und den Ernst der Lage erkennt: Dies ist ein Einsatzbereich für Access! Dabei sei vorausgesetzt, dass sich die Anzahl der Benutzer und ihrer Zugriffe in einem gewissen Rahmen hält.
Nun kommt es darauf an, dass der Access-Programmierer sich auch wirklich auskennt und nicht nur ein Gelegenheits-Benutzer ist. In diesem Fall geschieht nämlich oft Folgendes: Die Daten werden aus der Excel-Datei in eine Tabelle einer Access-Datenbank übertragen.
Die Access-Datenbank landet auf einem für alle beteiligten Mitarbeiter zugänglichen Rechner, zum Beispiel einem Server. Die Mitarbeiter starten die Access-Datenbank durch einen Doppelklick auf diese Datei und sehen ihren Traum von der mehrbenutzerfähigen Datenbank verwirklicht (Access muss dazu auf allen Arbeitsplatzrechnern installliert sein).
Dies funktioniert, denn so können tatsächlich mehrere Benutzer gleichzeitig auf die Daten der Tabelle zugreifen (okay, wenn der gleiche Datensatz von mehreren Personen bearbeitet wird, gibt es je nach Einstellung Probleme – mehr dazu später). Allerdings müssen nicht nur die zu bearbeitenden Daten, sondern auch die Formulare, die Berichte und mehr auf den jeweiligen Arbeitsplatz übertragen werden.
Datenbank aufteilen
Also gehen Sie auch noch den letzten Schritt: Sie teilen die Datenbank in ein Frontend und ein Backend auf. Das Frontend enthält die Abfragen, Formulare, Berichte und Module/Makros.
Das Backend bewahrt nur noch die Tabellen mit den Daten auf. Damit das Frontend auf die im Backend gespeicherten Tabellen zugreifen kann, erstellen Sie sogenannte Verknüpfungen auf diese Tabellen. Darüber können Sie genauso auf die verknüpften Daten zugreifen als wenn Sie direkt mit den Tabellen arbeiten.
Zur Tat
Genug der Theorie: Im Download zu dieser Ausgabe finden Sie die Datenbank 1106_Multiuser.mdb, die wir in den folgenden Schritten in eine Frontend- und eine Backend-Datenbank aufteilen werden (das Ergebnis finden Sie ebenfalls im Download).
Die Datenbank enthält die drei Tabellen tblArtikel, tblKategorien und tblLieferanten sowie ein Formular namens frmArtikel zur Anzeige dieser Daten.
Aufteilen per Assistent
Sie können die Aufteilung der Datenbank mit dem dafür vorgesehenen Assistenten durchführen oder aber selbst die notwendigen Schritte erledigen.
Den Assistenten finden Sie unter Access 2010 bei-spiels-weise im Ribbon unter Daten-bank-tools|Da-ten verschieben|Access-Datenbank (siehe Bild 1). Unter Access 2003 und älter verbirgt sich diese Funktion hinter dem Menüeintrag Extras|Datenbank-Dienst-pro-gramme|Assistent zur Da-ten–bankaufteilung.
Bild 1: Start des Assistenten zur Datenbankaufteilung
Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein: