Fehlerbehandlung
709
Programmierung
Ein Beispiel für den Einsatz eines AutoExec-Makros finden Sie in der von Microsoft ausgelieferten
Beispieldatenbank Nordwind 2007. Möchten Sie die Nordwinddatenbank starten, gehen Sie so vor:
Nach dem Programmaufruf von Access wählen Sie im Dialogfeld Erste Schritte die Lokalen Vorlagen.
Eine dieser Vorlagen ist Nordwind 2007. Der Dateiname dieser Vorlage lautet übrigens North-
wind.accdt
Haben Sie nicht nur ein AutoExec-Makro, sondern auch noch in den Access-Optio-
nen (Kategorie Aktuelle Datenbank) ein Startformular festgelegt, wird beim Laden der Datenbank
erst das Startformular geöffnet und dann das AutoExec-Makro ausgeführt.
Fehlerbehandlung
Access 2007 bietet die Möglichkeit, Laufzeitfehler zu behandeln. Laufzeitfehler und andere Fehler-
arten werden wir in Kapitel 34, »Visual Basicr Applikationen«, anhand der Fehlerbehandlung in
Visual Basic näher erläutern. Hier sei deshalb nur kurz erwähnt, dass Laufzeitfehler während des
Programmablaufs auftreten können und zum Beispiel durch den Zugriff auf ein nicht vorhandenes
Objekt verursacht werden.
Als Beispiel nehmen wir den Aufruf des Formulars frmFilme aus dem vorangegangenen Abschnitt.
Nennen wir das zu öffnende Formular in frmKinofilme um, dann erscheint beim Doppelklicken eine
von Access generierte Fehlermeldung, wie sie in Abbildg. 33.12 zu sehen ist.
Abbildg. 33.12
Von Access generierte Fehlermeldung
In diesem Fall hat der Anwender sogar noch Glück, dass der Text selbst für einen Laien verständlich
ist. In anderen Fällen ist es durchaus möglich, dass die Meldung keinen Rückschluss auf das Prob-
lem zulässt.
Sobald man diese Meldung bestätigt, tritt ein weiteres Problem auf. Es öffnet sich ein Dialogfeld in
dem man lediglich die Möglichkeit hat, das Makro anzuhalten.
Um dieses Dialogfeld dem Anwender zu ersparen und die von Access generierte Fehlermeldung durch
eine eigene zu ersetzen, soll das Makro zum Textfeld Filmtitel (siehe Abbildg. 33.9) um die Aktion Bei-
Fehler ergänzt werden. Diese Aktion besitzt die beiden Aktionsargumente Gehe Zu und Makroname.
Wählt man für Gehe Zu den Wert Nächster aus, wird mit der Aktion fortgefahren, die in der Aktions-
folge unmittelbar auf die fehlgeschlagene Aktion folgt. Wählt man hingegen Makroname aus, wird das
Makro ausgeführt, dessen Name man im zweiten Aktionsargument angegeben hat. Beim dritten Wert
Fehlgeschlagen reagiert Access wie man es ohne eigene Fehlerhandlung kennt.
PROFITIPP
Möchten Sie beim Laden einer Datenbank, dass das AutoExec-Makro nicht ausgeführt wird, so
halten Sie beim Bestätigen des Datenbanknamens die
[ª)-Taste gedrückt.
HINWEIS
Kapitel 33
Makros
710
Da ein eigenes Dialogfeld angezeigt werden soll, wählen Sie einen Makronamen aus und geben im
zweiten Aktionsargument den Namen des Makros ein, das bei dem Auftreten eines Fehlers ausge-
führt werden soll. Diesen Namen verwenden Sie für eine weitere Aktion, die Sie dem Makro hinzu-
fügen. Hierzu muss die Spalte Makronamen in der Entwurfsansicht eingeblendet sein. Als Aktion
wählen Sie Meldung aus und vergeben als Titel und Meldung den gewünschten Text. Das geänderte
Makro ist in Abbildg. 33.13 zu sehen.
Abbildg. 33.13
Das Makro mit Fehlerbehandlung
Doppelklicken Sie nun im Formular frmKinosTermineMitAnzahl auf einen Filmtitel, erscheint nicht
die von Access erzeugte Fehlermeldung, sondern das selbstdefinierte Dialogfeld.
Abbildg. 33.14
Selbstdefinierte Fehlermeldung
Achten Sie darauf, dass die Aktion BeiFehler als erste Aktion in Ihrem Makro auf-
geführt ist. Mit dieser Aktion werden lediglich Fehler behandelt, die der BeiFehler-Aktion im
Ablauf folgen. Außerdem sollten Sie daran denken, dass Aktionen, die dem Makro folgen, das bei
einem Fehler ausgeführt wird, ebenfalls ausgeführt werden.
HINWEIS

Get Microsoft Office Access 2007 - 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.