Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 6/2003.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Access-FAQ: Starten von Access

Karl Donaubauer, Wien

In der Access-FAQ von Karl Donaubauer (www.donkarl.com) finden Sie die häufigsten Fragen und Anworten zum Thema Microsoft Access. In dieser Beitragsreihe werden die wichtigsten Einträge im Detail vorgestellt und entsprechende Lösungen anhand praxisnaher Beispiele aufgezeigt. Im ersten Teil lernen Sie die Lösungen zu den meistgenannten Problemen der Teilnehmer der deutschsprachigen Access-Newsgroups in Zusammenhang mit dem Starten einer Access-Datenbank kennen.

Hinweis

Auf der beiliegenden Heft-CD finden Sie die Beispieldatenbanken zu der vorliegenden Musterlösung unter den Dateinamen Hauptfenster_ausblenden97.mdb (Access 97) und Hauptfenster_ausblenden00.mdb (Access 2000 und Access XP). (

Aktionen beim Start einer
Datenbank ausführen lassen

Access bietet recht unterschiedliche Methoden und eine große Anzahl an Einstellungsmöglichkeiten, um Aktionen "automatisch" beim Starten einer Datenbank ausführen zu lassen. Im Wesentlichen sind es drei Methoden beziehungsweise Herangehensweisen, die bei der Automatisierung von Startvorgängen eine Rolle spielen:

  • Menü Extras/Start
  • Makro Autoexec
  • Befehlszeilenoptionen
  • Menü Extras/Start

    Seit Access 95 gibt es das Menü Extras/Start. Der Dialog Start (s. Abb. 1) stellt die einfachste Möglichkeit zur Verfügung, Start-Einstellungen für eine Datenbank vorzunehmen.

    Abb. 1: Das Dialogfeld Start

    Die wichtigste Option ist Formular anzeigen. Damit legen Sie fest, welches Formular beim Start der Datenbank automatisch geöffnet werden soll.

    Weitere Einstellungen betreffen vor allem das Aussehen des Anwendungsfensters bezüglich Titelleiste, Menüs oder Datenbankfenster. Die meisten Optionen im Dialogfeld erklären sich ohnehin von selbst.

    Abb. 2: Das Makro Autoexec führt Code aus und öffnet das Startformular.

    Abb. 3: Das Makro Autoexec öffnet das Startformular, wenn die Bedingung wahr ist.

    Das Startformular lässt sich also recht einfach festlegen. Das waren aber auch schon alle Einstellmöglichkeiten zum Auslösen von Aktionen. Wenn nach dem Starten noch mehr passieren soll, müssen Sie entsprechende Programmierungen im Startformular vornehmen. Meist geschieht das im Ereignis Beim Öffnen des jeweiligen Formulars.

    Übliche Vorgänge, die man hier programmiert, sind zum Beispiel das Aufrufen von selbst erstellten VBA-Funktionen, die prüfen, wie der Rechner heißt oder ob eine eventuell vorhandene Backend-Datenbank noch am gewünschten Ort ist.

    Im letzteren Fall ist es am einfachsten, ein ungebundenes Startformular zu verwenden, um bei falsch eingebundenen Tabellen keine Fehlermeldung zu erhalten. Ein Nachteil der Einstellung im Start-Dialog ist also, dass alle weiteren Aktionen frühestens beim Öffnen des Startformulars veranlasst werden können. Das ist einer der Gründe, warum es immer noch das Autoexec-Makro gibt.

    Makro Autoexec

    In allen Versionen von Access besteht die Möglichkeit, ein Makro namens Autoexec zu verwenden, das aufgrund dieses Namens beim Starten der Datenbank automatisch abgearbeitet wird.

    Es stellt auch in den neueren Access-Versionen noch eine überlegenswerte Alternative oder Ergänzung zum Menü Extras/Start dar. Makros haben zwar erhebliche Nachteile gegenüber VBA, da sie unter anderem keine Fehlerbehandlung haben, sind aber für ein paar wenige, gezielte Einsätze in Access durchaus sinnvoll. Viele Entwickler verwenden etwa folgende Kombination: das Startmenü, um die dort einfacher zu treffenden Starteinstellungen vorzunehmen, und das Autoexec-Makro, um VBA-Code - unabhängig von einem bestimmten Startformular - anzustoßen.

    Access arbeitet übrigens zuerst die Einstellungen aus dem Start-Menü ab, danach erst das Autoexec-Makro. Das ist eine wichtige Tatsache, wenn Sie eine Kombination der beiden Methoden verwenden möchten. Nehmen wir an, Sie überprüfen beim Start der Datenbank die Verknüpfungen zum Backend und das Startformular ist an eine verknüpfte Tabelle gebunden. Wenn Sie nun das Startformular über das Startmenü öffnen lassen, erhalten Sie bei falsch eingebundenen Tabellen unweigerlich eine Fehlermeldung wegen der nicht gefundenen Backend-Datei. Deshalb müssen Sie das Startformular entweder direkt im prüfenden Code öffnen oder - mit Hilfe der Makroaktion ÖffnenFormular - im Autoexec-Makro, nachdem die Pfade überprüft und gegebenenfalls aktualisiert wurden. Ein solches Autoexec-Makro könnte beispielsweise wie in Abb. 2 aussehen.

    Noch geschickter ist die Variante, eine Funktion zu schreiben, die (nur) nach dem erfolgreichen Wiedereinbinden der Tabellen den Wert True zurückgibt, und dies im Makro als Bedingung für das Öffnen des Startformulars zu verwenden. Dadurch wird die Aktion ÖffnenFormular nur ausgeführt, wenn der Code erfolgreich war (s. Abb. 3).

    Diese Beispiele sollen nur andeuten, wie Kombinationen von Start-Menü, VBA und Autoexec-Makro aussehen können. Es gibt dafür viele sinnvolle Varianten je nach Aufbau der Datenbank, Wichtigkeit der Absicherung gegen Anwendereingriffe und so weiter.

    Befehlszeilenoptionen

    Weniger bekannt als das Menü Start und das Autoexec-Makro sind die Möglichkeiten, die Access durch Befehlszeilenoptionen beim Starten bietet.

    Sie können besonders hilfreich sein im Falle von Mehrfachinstallationen, die pro Arbeitsplatz oder Arbeitsgruppe individuelle Einstellungen benötigen.

    Wenn Sie auf dem Windows-Desktop (oder im Windows-Explorer und so weiter) eine Verknüpfung zu einer Datenbank erstellen, bietet Ihnen Access ein gutes Dutzend Optionen, die Sie als Befehle in dieser Verknüpfung verwenden beziehungsweise mitgeben können.

    Eine Liste der möglichen Optionen finden Sie in der Online-Hilfe mit dem Suchbegriff Befehlszeilenoptionen.

    Um eine Befehlszeilenoption wirksam mitzugeben, müssen Sie folgendermaßen vorgehen:

  • Erstellen Sie eine Verknüpfung zu Ihrer Datenbank, also zur .mdb-Datei.
  • Klicken Sie mit der rechten Maustaste auf die Verknüpfung und wählen Sie den Menüpunkt Eigenschaften. Die Eigenschaft Ziel enthält standardmäßig nur den Pfad zur .mdb-Datei, zum Beispiel c:\Datenbanken\Kunden.mdb.
  • Ergänzen Sie diese Eigenschaft um den Pfad zur passenden Version von Access. Ohne diese Angabe werden die Startoptionen nicht abgearbeitet, also schlicht ignoriert. Falls auf dem Computer mehrere Versionen von Access installiert sind, stellen Sie mit der Pfadangabe zu msaccess.exe nebenbei auch sicher, dass die Datenbank mit der richtigen Version geöffnet wird. Der Eintrag lautet nach dieser Änderung zum Beispiel "C:\Office97\Office\MSACCESS.EXE" "C:\Datenbanken\Kunden.mdb".
    Die Anführungszeichen vor und nach den Pfadangaben sind bewusst gesetzt und verhindern Probleme mit eventuellen Leerzeichen in den Pfaden.
  • Ergänzen Sie die Ziel-Eigenschaft um die gewünschte Option, zum Beispiel "C:\Office97\Office\MSACCESS.EXE" "C:\Datenbanken\Kunden.mdb" /x StartMakro. In diesem Beispiel würde beim Start der Datenbank Kunden.mdb ein Makro namens StartMakro ausgeführt (s. Abb. 4). (
  • Abb. 4: Das Textfeld für die Verknüpfungseigenschaft Ziel ist etwas zu klein geraten.

    Für unser Thema sind insbesondere die beiden Optionen /x Makro und /cmd geeignet.

    Die Option /x Makro

    Mit der Option /x Makro können Sie - wie im Beispiel gezeigt - angeben, dass ein bestimmtes Makro beim Öffnen der Datenbank ausgeführt wird. In diesem Makro stehen Ihnen alle Möglichkeiten der Makroprogrammierung von Access zur Verfügung: Formular oder Bericht öffnen, Code ausführen und so weiter.

    Abb. 5: Die Befehl-Funktion im Autoexec-Makro

    Mit der Option /x Makro in der Datei-Verknüpfung können Sie also für jeden Arbeitsplatz individuell einstellen, was beim Starten der Datenbank passieren soll.

    Die Option /cmd

    Mit der Option /cmd können Sie einen beliebigen Text wie zum Beispiel den Namen eines Formulars an die Datenbank übergeben:

    "C:\Office97\Office\MSACCESS.EXE" "C:\Datenbanken\Kunden.mdb" /cmd frmStart

    Der übergebene Text frmStart hat zunächst keinerlei direkte Auswirkung. Mit Hilfe der Command-Funktion von VBA (mit der "deutschen" Access-Oberfläche: Befehl()) kann der übergebene Text jedoch an beliebiger Stelle in der Datenbank aufgerufen und weiterverwendet werden. Wenn Sie also in unserem Beispiel mit einem Autoexec-Makro arbeiten, so können Sie als Makrobefehl ÖffnenFormular verwenden und statt direkt einen Formularnamen anzugeben, den übergebenen Text mit folgender Syntax aufrufen (s. Abb. 5):

    Sub procStartFrm(strNewFrm As String)

        On Error GoTo Error_procStartFrm

        Dim db As DAO.Database

        Dim prp As DAO.Property

        Set db = OpenDatabase("c:\Datenbanken\Kunden.mdb")

        '  neues Startformular einstellen

        db.Properties("StartUpForm") = strNewFrm 

    Exit_procStartFrm:

        db.Close: Set db = Nothing

        Set prp = Nothing

        Exit Sub

    Error_procStartFrm:

        ' Property erstellen, falls noch kein Startformular 
        ' gesetzt ist

    Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

    Sind Sie Abonnent?Jetzt einloggen ...
     

    Kompletten Artikel lesen?

    Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

    E-Mail:

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.