Access Runtime Einschränkungen

Was ist die Access Runtime?

Die Access Runtime ist eine kostenlose, abgespeckte Version von Microsoft Access.
Sie erlaubt es Nutzern, eine Access-Datenbank auszuführen, aber nicht zu entwickeln oder zu verändern.

Typische Einsätze:

  • Unternehmensanwendungen, die geschützt laufen sollen
  • Endnutzer ohne Vollversion
  • Professionelle Verteilung von Access-Lösungen
  • Auf dem Terminalserver

Was funktioniert NICHT in der Access Runtime?

FunktionVerhalten in der Runtime
Navigationsbereich (Objekte sehen/öffnen)Nicht sichtbar. Formulare, Berichte etc. müssen programmatisch geöffnet werden.
Ribbon-Menü (Standard)Stark reduziert. Nur eigene Menüs oder eingeschränkte Standardbefehle funktionieren.
Entwurfsansichten (Tabellen, Abfragen, Formulare, VBA-Editor)Nicht möglich. Keine Designänderungen oder manuelles Debuggen.
Direkte Fehlermeldungen/VBA-DebuggingKeine VBA-Debug-Fenster. Fehler führen zu einem Programmabsturz oder müssen sauber abgefangen werden.
Makro- und VBA-EditorNicht verfügbar. Keine Möglichkeit für Nutzer, Code anzusehen oder zu verändern.
Externe Verknüpfungen neu setzen (Dialoge)Teilweise schwierig. Muss ggf. über VBA automatisiert werden.

Typische Fallen: Was muss man beim VBA-Code beachten?

  1. Fehlerbehandlung unbedingt einbauen!
    • Jeder VBA-Prozedur sollte ein On Error-Block haben.
    • Beispiel: On Error GoTo Err_Handler ' Dein Code Exit Sub Err_Handler: MsgBox "Es ist ein Fehler aufgetreten: " & Err.Description, vbCritical End Sub
    • Ohne Fehlerbehandlung -> sofortiger Absturz!
  2. Keine direkten Designbefehle verwenden:
    • DoCmd.OpenForm "Formularname", acDesignführt zum Absturz.
    • DoCmd.OpenTable "Tabelle1", acViewDesignAbsturz.
  3. Steuerelemente nicht zur Laufzeit ändern, wenn nicht notwendig:
    • Beispiel: Ein neues Feld hinzufügen oder Löschen von Feldern funktioniert nur mit Entwicklungszugriff, nicht Runtime.
  4. Dialoge selbst bauen:
    • Standard-Datei-Öffnen-Dialoge (Application.FileDialog) funktionieren nur eingeschränkt oder gar nicht.
    • Besser eigene Formulare für Uploads, Exporte etc. erstellen.
  5. Eigene Menüleisten und Ribbons verwenden:
    • Weil das Standard-Menü kastriert ist.
    • Tipp: Mit XML kann man ein eigenes Ribbon bereitstellen.
  6. Verbindungen zu anderen Datenbanken automatisieren:
    • Keine Standard-Dialoge für Verknüpfungs-Manager.
    • Beispiel: Automatisiertes Refreshen von Tabellenverknüpfungen via VBA.

Zusatztipps für die Praxis

  • Startformular definieren:
    In den Optionen der ACCDB/MDB oder per VBA beim Start laden.
  • Versteckte Navigation:
    Formularbasiertes Navigationssystem bauen (Buttons, Menüs).
  • Kompatibilitäts-Test:
    Immer einmal die fertige Datei mit einer Access Runtime testen (es gibt kostenlose Downloads für jede Version).
  • Splitten der Datenbank:
    • Frontend (Formulare, Abfragen, Code) und
    • Backend (Tabellen) trennen.
    • Nur Frontend wird aktualisiert verteilt.
  • Deployment beachten:
    • Entweder reine ACCDE (kompilierte, schreibgeschützte Datei) oder ein Setup erstellen, das die Runtime mitinstalliert.