Kapitel 15: Anwendungsdesign
Abbildung 15.18 Das Startformular einstellen
Dem wenig erfahrenen Benutzer nehmen Sie mit dem Ausblenden des Hauptfensters die Möglichkeit,
auf direktem Wege in den »Innereien« Ihres Programms (Tabellen, Formulare, Quellcode ...) herumzu-
schnüffeln. Der Access-Kundige weiß allerdings, dass er beim Öffnen der Datenbank nur die
-Taste
gedrückt halten muss, um ein AutoExec-Makro oder die im Startdialog vorgenommenen Einstellungen
zu umgehen.
Beim Öffnen von Berichten in der Seitenansicht kann es Probleme geben. Hier muss man die Formulare
alle auf unsichtbar setzen oder schließen.
Dass man in der Taskleiste nichts mehr von der Anwendung sieht, kann bei größeren Datenbankappli-
kationen durchaus als Nachteil empfunden werden.
Steuern der Anwendung
Tja, was meinen die Autoren wohl mit dieser Überschrift? Ausnahmsweise ist hier mal nicht von VBA-
Konstrukten zur Programmablaufsteuerung die Rede (While, If etc.), sondern wir wollen uns um das große
Ganze, d.h. die Access-Anwendung, kümmern.
Autostart mit AutoExec-Makro
Entwickeln Sie eigene Applikationen ist es sichernschenswert, auf den Start der Anwendung mit einer
Routine zu reagieren. Wer auch mit anderen Programmiersprachen arbeitet, dem ist sicher eine Main-Pro-
zedur (C#) oder ein MyApplication_Startup (VB.NET) vertraut.
Access verfügt nicht über ein derartiges Ereignismodell, Sie haben jedoch die Möglichkeit, beim Öffnen der
Datenbank ein Makro mit dem Namen AutoExec automatisch ausführen zu lassen.
Aus diesem Makro heraus können Sie VBA-Funktionen starten, interne Access-Funktionen abarbeiten oder
Formulare
1
/Berichte aufrufen.
1
Formulare lassen sich auch über die Optionen automatisch starten (siehe folgender Abschnitt).
950
BEISPIEL
HINWEIS
BEISPIEL
Per AutoExec-Makro soll eine VBA-Funktion gestartet werden.
Erstellen Sie zunächst die Funktion in einem neuen Modul:
Function MeineAutoStartfunktion() As Boolean
MsgBox "Ich bin gestartet worden ..."
MeineAutoStartfunktion = True
End Function
Wichtig: Es muss eine
Function
sein, ein
Sub
genügt nicht!
Erzeugen Sie über die Multifunktionsleiste (
Erstellen/Makro
) ein neues Makro mit folgendem Inhalt:
Abbildung 15.19 Inhalt des Makros
Schließen Sie den Makroeditor und vergeben Sie den Namen AutoExec. Beim nächsten Öffnen der Daten-
bank wird jetzt automatisch das Makro aufgerufen, dieses startet wiederum unsere VBA-Routine.
Mit dem Datenbanknavigator können Sie auch das AutoExec-Makro ausblenden. Klicken Sie dazu mit der
rechten Maustaste auf den Eintrag und wählen Sie im Kontextmenü den Punkt Objekteigenschaften. Im folgenden Dialog haben
Sie die Möglichkeit, das Objekt auszublenden. Sollte das Makro immer noch angezeigt werden (graue Schrift), müssen Sie über
die Navigationsoptionen die Anzeige ausgeblendeter Objekte deaktivieren.
Automatische Ausführung verhindern
Eventuell haben Sie einen Fehler in Ihrer Anwendung oder Sie möchten mal ohne AutoExec-Makro starten.
In diesem Fall halten Sie beim Öffnen der Datenbank einfach die
-Taste gedrückt. Das Makro wird jetzt
nicht ausgeführt.
Umgehen mit der Shift-Taste verhindern
So schlau wie Sie sind manche Anwender auch. Wollen Sie die Möglichkeit der Umgehung Ihres AutoExec-
Makros verhindern, müssen Sie die Datenbank-Eigenschaft »AllowBypassKey« auf False setzen.
Setzen von
AllowBypassKey
Sub NoByPass()
On Error Resume Next
Dim prp As DAO.Property
Set prp = CurrentDb.CreateProperty("AllowBypassKey", dbBoolean, False)
CurrentDb.Properties.Append prp
CurrentDb.Properties("AllowBypassKey") = False
End Sub
951
Steuern der Anwendung

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.