[Eine Seite zurück] [Übersicht] [Eine Seite vor]

Benutzung auf eigene Gefahr !
Keine Garantie für garnichts !

Fenstergröße von Access automatisch ändern

Sprache / Programm: Access ab Version 97
Beschreibung

API Aufruf, um die Fenster von Formularen oder Access zu verkleinern oder ganz verschwinden zu lassen.

VBA-Quelltext
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Argumente der Funktion/Prozedur

Größe

Optional. Gibt die neue Fenstergröße von Access an.

    0 = Versteckt (Voreinstellung), Programm erscheint noch nicht einmal in der Task-Leiste

    1 = nur kleine Access-Leiste

    3 = Vollbild

Es können die gleichen vb-Konstanten verwendet werden, wie bei der VBA-Funktion Shell (siehe online-Hilfe), also vbHidden, vbNormalFocus, ...

Anwendungsbeispiel(e)...

Baut man die Zeile

ShowWindow Me.Hwnd, vbMaximizedFocus

in das VBA-Modul eines Formular- oder Berichtsmoduls ein, so vergrößert Windows das Formular auf Vollbildgröße (über den Access-Rahmen hinaus).

Die Anweisung

ShowWindow hWndAccessApp, vbHide

in einem VBA-Modul lässt Access völlig verschwinden. Access selbst ist dann nicht einmal mehr in der Taskleiste erkennbar. Nur mit Strg+Alt+Entf kann Access noch im Task-Manager gesehen und beendet werden.

Formulare, die nach dieser Anweisung noch sichtbar sein sollen, müssen in ihrem Eigenschaftsdialog als 'Gebunden' und 'PopUp' eingestellt werden. Es ist dann aber nicht mehr möglich, zwischen verschiedenen geöffneten Formularen hin und herzuklicken.

Anwendungsgebiete, Fehler und Warnungen

Wenn Access mit der Anweisung ShowWindow hWndAccessApp, vbHide unsichtbar gemacht wurde, kann es nicht mehr über normale Funktionen geschlossen werden. Einzig ein Neustart oder der Aufruf des Task-Managers (mit Strg+Alt+Entf) hilft: Dort kann man msaccess.exe schließen. Das geöffnete Formular kann verschwinden, beispielsweise verschwinden, falls

  • ein unbehandelter Fehler auftritt,
  • die Eigenschaften des Formulars nicht auf 'PopUp' und 'Gebunden' eingestellt wurden,
  • das Formular vom Anwender geschlossen werden kann, ohne Access zu beenden (z.B. durch Cancel oder ordnungsgemäßen Funktionsaufruf) und das Formular danach nicht ein anderes Formular öffnet
In diesen Fällen läuft Access weiter und hält die MDB-Datei geöffnet - mit allen üblichen Nachteilen.