Setup für Access-Anwendungen

Christoph Jüngling, https://www.juengling-edv.de

Auch eine Access-Applikation muss irgendwann den User erreichen, und je einfacher wir es diesem machen, umso besser für uns. Zu diesem Zweck verwenden Entwickler seit vielen Jahren sogenannte Installations- oder Setup-Programme. Das kostenlose InnoSetup ist ein solches, das über den in Access bereits enthaltenen “Verpackungs- und Weitergabeassistenten” weit hinaus geht. In diesem Artikel erfahren Sie die Grundlagen, weitere Artikel in den nächsten Ausgaben befassen sich mit der Umsetzung und möglichen Erweiterungen.

Nach der Entwicklung ist vor der Auslieferung

Die “Installation” einer Access-Applikation ist eigentlich schnell gemacht. Einfach die .accdb– oder .accde-Datei irgendwohin kopieren (oder auspacken), und fertig. Dann sorgt ein Doppelklick auf diese Datei für den Start durch das hoffentlich bereits vorhandene Access. Was will man mehr

Ja, die Frage ist ernst gemeint: Was kann man mehr wollen Nun, das Übliche:

  • ein Icon auf dem Desktop
  • ein Eintrag im Startmenü zum Starten der Applikation
  • ein Eintrag im Startmenü zum Öffnen der Online-Hilfe (falls vorhanden)
  • eine saubere Deinstallation über die Systemsteuerung
  • sicherstellen, dass die Applikation beim Update nicht bereits läuft

Das alles wäre mit einer reinen Kopieroperation sicher nicht so leicht möglich. Einige Anforderungen könnten mit etwas Aufwand auch von der Access-Applikation selbst erledigt werden, aber spätestens bei den letzten beiden Punkten müsste die Kontrolle von außerhalb stattfinden.

Exkurs: Frontend-/Backend-Trennung

Es gibt sicher viele Möglichkeiten, eine Access-Applikation umzusetzen. Ein wichtiger Punkt dabei ist jedoch die Frontend-/Backend-Trennung. Ein Grund hierfür ist, dass alle Anwender zwar auf dieselben Daten zugreifen sollen, deren Applikation jedoch ohne Datenverlust einfach aktualisierbar sein soll.

Würden wir die Applikation mit den Datentabellen durch eine neue Version ersetzen, dann wäre alle bisherige Arbeit umsonst gewesen, die bereits eingegebenen Daten verloren. Deshalb ist es sehr empfehlenswert, die Daten von der Applikation zu trennen.

Kurz gesagt bedeutet das, dass unser Projekt zwei verschiedene Dateien beinhaltet (siehe Bild 1):

Frontend und Backend im Netzwerk

Bild 1: Frontend und Backend im Netzwerk

  • Das Frontend (“vorderes Ende”) steht für die Applikation selbst, also alles, was aktiv vom User gesehen und bedient wird. In Access betrifft das hauptsächlich Formulare und Berichte, aber natürlich auch Abfragen, den Programmcode in Modulen sowie eventuelle Makros.
  • Das Backend (“hinteres Ende”) wiederum enthält ausschließlich die Tabellen, also die gespeicherten Daten.

Damit das Frontend auf die Tabellen zugreifen kann, müssen dort Tabellenverknüpfungen enthalten sein. Jeder dieser Einträge ist also ein Verweis auf die in einer anderen Datenbank gespeicherte Tabelle.

Access ist eigentlich genügsam, was den Speicherort angeht. Lokal oder im Netz, in C:\Programme oder im Benutzer-Space, auf den ersten Blick scheint das alles egal zu sein. Doch es gibt gute Orte und schlechte Orte.

Wie bereits gesagt, sollte das Backend im Netzwerk liegen. Einige Leute sagen, auch das Frontend kann einfach ins Netz, denn da kommt jeder ran. Das klingt zunächst logisch, schließlich kann Access ja auch damit umgehen, wenn mehrere Anwender gleichzeitig die Datenbankanwendung benutzen.

Ein paar Punkte gibt es dabei aber zu beachten:

  • Temporäre Tabellen in der Datenbank erfordern Schreibrechte. Dabei kann es auch Konflikte geben, wenn mehrere User dieselbe Datenbank als Frontend nutzen.
  • Wenn bei einem Benutzer ein Crash erfolgt, kann das die Datenbank nachhaltig beschädigen. Das hätte dann Auswirkungen auch auf alle anderen User, die bis zur erfolgreichen Reparatur nicht mehr damit arbeiten können.
  • Wenn ein User in einem Formular Veränderungen vornimmt, weil ihm dies so besser gefällt, dann könnte dies die anderen Anwender sehr verwirren.
  • Oder es sorgt ebenfalls für Probleme, falls der User dabei einen Fehler gemacht hat.
  • Wenn wir das Installationsverzeichnis gegen Überschreiben schützen, erhalten wir eine Warnmeldung (siehe Bild 2).
  • Warnmeldung beim Öffnen

    Bild 2: Warnmeldung beim Öffnen

  • Gleiches passiert, wenn wir C:\Programme als Ziel einsetzen. Diese Warnmeldung sollte also verhindert werden.

Wohin mit dem Frontend

Und nun können wir gedanklich wieder zu unserem Setup zurückkehren. Denn das Frontend ist das, welches wir auf den Benutzerrechnern per Setup installieren (lassen). Aufgrund der vorherigen Überlegungen entscheiden wir uns für den “User Program Folder”, der in Windows genau für diesen Zweck vorgesehen ist. Dieser liegt im Pfad C:\Users\USERNAME\AppData\Local\Programs (ersetzen Sie USERNAME durch Ihren Anmeldenamen, um Ihr Verzeichnis herauszufinden) und damit unter der Kontrolle dieses Users. Als Nebeneffekt ergibt sich daraus, dass für die Installation unserer Access-Applikation keine Adminrechte erforderlich sind. Da das Setup-Programm überdies sehr einfach zu bedienen ist, können wir diese Arbeit dem User guten Gewissens überlassen.

Das Backend wiederum wird wahrscheinlich vom Administrator irgendwo im Netzwerk platziert. Wo genau ist im Grunde egal, wichtig ist jedoch, dass alle User auf diese Stelle zugreifen können. Davon müssen sie allerdings nichts erfahren, denn das macht das Frontend unserer Applikation ganz allein.

Jetzt geht es nur noch darum, dass das Frontend nach der Installation erfährt, wo genau die Backend-Datenbank liegt. Darauf kommen wir später nochmal zurück.

Um es kurz zu machen:

  • Das Access-Frontend sollte auf dem Rechner jedes Benutzers liegen.
  • Aus Wartungsgründen wählt man dabei optimalerweise bei allen Usern das gleiche Verzeichnis.
  • Es soll durch ein Icon auf dem Desktop und/oder im Startmenü gestartet werden können.
  • Es soll sich in der Systemsteuerung (Programme hinzufügen oder entfernen) ordentlich registrieren.
  • Es soll über die Systemsteuerung vollständig deinstalliert werden können.
  • Es soll sich automatisch mit dem im Netzwerk liegenden Backend verbinden.

Idealerweise könnten wir noch dafür sorgen, dass die Applikation durch die Softwareverteilung des Unternehmens “still installiert” werden kann.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar