Access-Hauptfenster ausblenden

Hinweis: Unter folgender Adresse finden Sie eine Vorlage, die Sie herunterladen können:Wenn Sie auf Ihrem Rechner Access installiert haben, können Sie diese Vorlage verwenden. Speichern Sie das selbstentpackende Dateiarchiv auf Ihrer Festplatte und geben Sie den Pfad für einen Ordner an.

Problembeschreibung

Sie möchten, dass beim Starten einer Access-Datenbank das Access-Hauptfenster nicht angezeigt wird. Der Benützer soll also nur Formulare und eventuell Berichte sehen.

Lösung

Sie können per VBA-Code eine entsprechende Windows-API-Funktion aufrufen.
Wenn Sie die Fenstermanipulation z.B. in ihrem Start- oder Übersichtsformular durchführen möchten, dann schreiben Sie folgenden Code in den Deklarationsteil des Formularmoduls:
   Const SW_HIDE = 0       ' Fenster ausblenden
Const SW_NORMAL = 1 ' Fenster wiederherstellen bzw. einblenden
Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Der Aufruf dieser Funktion kann z.B. im Code der Ereignisprozedur "beim Öffnen" eines Übersichtsformulars geschehen:
   Dim hWindow As Long
Dim nResult As Long
Dim nCmdShow As Long
hWindow = Application.hWndAccessApp
nCmdShow = SW_HIDE
nResult = ShowWindow(ByVal hWindow, ByVal nCmdShow)
call ShowWindow(Me.hWnd, SW_NORMAL)
Durch diesen Code wird das Access-Hauptfenster unsichtbar.

Das Ausblenden des Hauptfensters hat aber einige Nachteile:
Im Übersichtsformular müssen sie auch dafür sorgen, dass Access später mit einem Befehl wie Application.Quit ausdrücklich beendet wird, weil ja die normalen Fensteroptionen zum Schließen der Anwendung nicht mehr zu sehen sind.

Bei allen Formularen der Datenbank muss die Eigenschaft PopUp auf 'Ja' eingestellt sein, weil sie sonst im nicht mehr sichtbaren Access-Fenster dargestellt werden und daher selber nicht mehr sichtbar sind.

Beim Öffnen von Berichten in Seitenansicht muss man alle geöffneten (PopUp-)Formulare auf unsichtbar setzen oder schließen, weil sie sonst das Berichtsfenster verdecken.

Das Verstecken des Hauptfensters mittels API stellt nur in Ausnahmefällen eine gute Lösung dar z.B. für Anwendungen, die nur aus einem oder wenigen Formularen bestehen. Für größere Applikationen ist es in der Regel nicht geeignet, weil auch in der Taskleiste von Windows nichts mehr von der Anwendung zu sehen ist. Das gewohnte Hin- und Herwechseln zwischen allen geöffneten Anwendungen über die Taskleiste ist daher nicht möglich. Ebenso entspricht das Fenster-Handling nicht dem Windows-Standard.

In größeren Applikationen empfiehlt sich daher die Verwendung der standardmäßig in Access eingebauten Möglichkeiten, den Zugriff des Anwenders auf das Access-Hauptfenster zu verhindern. Dazu gehören eigene Symbol- und Menüleisten, Ausblenden des Datenbankfensters und evtl. die Verwendung von Formularen ohne Rahmen etc.

Eigenschaften

Artikelnummer: 510049 – Letzte Überarbeitung: 09.11.2004 – Revision: 1

Feedback