Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Wie Sie die Positionen und Abmessungen von Formularen ermitteln oder per VBA setzen können, oder auch die des Access-Rahmenfensters, das erfuhren Sie schon in der letzten Ausgabe von Access Basics. Einige Beispiele, wie Sie solche Routinen gewinnbringend in Ihrer Anwendung einsetzen können, folgen in diesem Beitrag.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1701_AppDesign.accdb.
Access und Monitorauflösungen
Die Auflösung von PC-Monitoren hat eine etwas seltsame Geschichte hinter sich. Es ist noch nicht so lange her, da kamen die ersten Flat-Screen-Monitore in der Größe von 15 bis 19 Zoll auf den Markt. Ihre Auflösung betrug in der Regel 1280 x 1024 Pixel. Dann wurden Multimedia-Anwendungen immer wichtiger, die ein Breitformat erforderten. Inzwischen sind 27-Zoll Monitore fast schon der Standard. Doch an der vertikalen Auflösung hat sich indessen fast nichts geändert. Immer noch sind 1080 Pixel vertikal der weitaus verbreitetste Wert. Besonders gilt das für Laptops, die jedoch immer mehr auch im Büro Einzug halten. Eignet sich diese Auflösung tatsächlich für Datenbankanwendungen
Bild 1 demonstriert, wie Access 2010 sich unter Windows 7 auf so einem Monitor präsentiert, wenn der Navigationsbereich ausgeblendet ist. Das dürfte nicht selten der Fall sein, da man dem Anwender diesen Bereich eher nicht zur Ansicht bringen will und andere Navigationsmethoden, etwa benutzerdefinierte Ribbons, vorzieht. Da die Taskleiste von Windows die Höhe schmälert, bleiben einer Anwendung in maximiertem Zustand noch 1028 Pixel. Für die Titelleiste von Access gehen davon weitere 24 Pixel ab. Und schließlich nimmt der Ribbon ganze 110 Pixel ein. Somit kann ein maximiertes Formular oder ein Bericht nach Abzug des Rahmens des MDI-Bereichs, also der Arbeitsfläche, höchstens noch die Ausdehnung von 1974 x 864 Pixeln besitzen. Daraus ergibt sich ein Seitenverhältnis von etwa 2,28:1.
Bild 1: Access maximiert auf einem Laptop-Monitor ohne Navigationsbereich
Unter Excel mag dieses Verhältnis noch einigermaßen sinnvoll sein, da man es hier häufig mit zahlreichen Spalten zu tun hat. Aber Access Formulare nennen sich nicht zufällig so. Eingabeformulare haben ihr papierenes Vorbild im DIN-A4-Hochformat.
Die Felder sind in der Regel mehr oder weniger untereinander angeordnet. Aber auch Datenblätter lassen sich besser lesen, wenn sie eher vertikal ausgedehnt und mehr Datensätze im Zugriff sind.
Das scheint ein Rückschritt zu sein. Einerseits verbreiterten sich Monitore zunehmend, anderseits leistet der Ribbon gegenüber den früheren Menüleisten zusätzlich seinen Beitrag zu einem unpassenden Design.
Damit taucht die Frage auf, ob solchen Umständen abzuhelfen ist Das Menüband kann man ausblenden, doch wie realisiert man dann eine Navigation durch die Anwendung
Eine Möglichkeit wäre ein Switchboard am linken Rand, das den eingebauten Navigationsbereich von Access ersetzte. Dafür käme ein Navigationsformular in Betracht. In der Beispieldatenbank haben wir so etwas entwickelt, ohne den Aufwand zu hoch zu treiben.
Switchboard-Formular
Aussehen soll das Ganze, wie in Bild 2. Der Ribbon ist ausgeblendet und am linken Rand befindet sich das Menü, über das die Elemente der Anwendung aufgerufen werden.
Bild 2: Ohne Ribbon aber mit Switchboard ändert sich die verfügbare Arbeitsfläche
Die Arbeitsfläche vergrößert sich damit vertikal um immerhin 135 Pixel. Dass die horizontale Ausdehnung sich durch das Switchboard verringert, ist zu verschmerzen, denn noch immer haben wir es hier mit einem Breitformat zu tun.
Diese Lösung sieht einfacher aus, als sie es ist. Denn wir haben es mit folgenden Anforderungen zu tun:
- Das Switchboard-Formular muss links angenagelt bleiben
- Es sollte sich vertikal den Abmessungen des Access-Rahmenfensters anpassen können
- Formular und Berichte sollten das Switchboard nicht überdecken können. Das soll auch für maximierte Fenster gelten. Der linke Rand der Anwendungsformulare muss rechts vom Switchboard liegen.
Sowohl das Switchboard-Formular, wie auch die Anwendungsformulare, müssen dazu automatisierten Positionierungsoperationen unterzogen werden. Die Basics dazu erfuhren Sie in der letzten Ausgabe.
Ribbon ausblenden
Das geht mit einer Zeile VBA:
DoCmd.ShowToolbar "Ribbon", acToolbarNo
Lassen Sie diese Zeile beim Start der Anwendung ausführen. Ob dies über ein Startformular geschieht, oder über ein AutoExec-Makro und eine öffentliche Funktion, das bleibt Ihnen überlassen. Einblenden können Sie den Ribbon im Zweifel wieder über den Aufruf der Methode ShowToolbar:
DoCmd.ShowToolbar "Ribbon", acToolbarYes
Navigationselemente
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo