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?
Funktion | Verhalten 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-Debugging | Keine VBA-Debug-Fenster. Fehler führen zu einem Programmabsturz oder müssen sauber abgefangen werden. |
Makro- und VBA-Editor | Nicht 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?
- 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!
- Jeder VBA-Prozedur sollte ein
- Keine direkten Designbefehle verwenden:
DoCmd.OpenForm "Formularname", acDesign
→ führt zum Absturz.DoCmd.OpenTable "Tabelle1", acViewDesign
→ Absturz.
- 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.
- 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.
- Standard-Datei-Öffnen-Dialoge (
- Eigene Menüleisten und Ribbons verwenden:
- Weil das Standard-Menü kastriert ist.
- Tipp: Mit XML kann man ein eigenes Ribbon bereitstellen.
- 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.