Bitsqueezer
Office-VBA-Programmierer
Verfasst am: 02. Feb 2010, 18:51 Rufname:
|
|
| Version: Office 2007 |
|
Hallo zusammen,
wer in Access 2007 mit Ribbons arbeiten möchte, findet ein weites Feld zum "Austoben", aber es ist auch relativ schwierig, damit schnell Anwendungsmenüs zu erstellen. Es ist eine exakte XML-Datei notwendig und meistens auch ein Ribbon-Editor, ganz zu schweigen von umständlichen CallBack-Routinen.
Für die "kleine Anwendung zwischendurch" ist das meistens zu aufwendig, daher habe ich hier ein kleines Tool gebastelt, mit dessen Hilfe man ein kleines aufklappbares Menü erzeugen kann.
Nach dem Starten erscheint links oben ein kleiner Button [>>], wenn man hier klickt, öffnet sich ein Menü aus Buttons (dessen erster Knopf absichtlich etwas kleiner dargestellt ist, um zu zeigen, daß man die Größe beliebig einstellen kann). Ein Klick auf einen Button öffnet ein Dropdown-Menü, dessen Position und Größe sich automatisch an die Buttons und den Text der Menüitems anpaßt.
Die Menübuttons und die Menüeinträge müssen nicht mühsam beschriftet werden, sondern werden einfach über die Tabelle "tblFlyoutMenu" konfiguriert. Der Aufbau ist sehr einfach: Eine Spalte enthält die Menünamen, wobei alles, was mit gleichem Menünamen benannt ist, im gleichen Menü landet. In der Item-Spalte stehen die Menüeinträge. Die beiden "Order"-Spalten definieren die Reihenfolge der Menüs. Hier habe ich mal als Beispiel 100er-Schritte gewählt, was einem die Möglichkeit gibt, schnell mal einen Eintrag irgendwo zwischenzusetzen.
Das Menü wird per ADO geladen, was einem die Möglichkeit gibt, das Menü auch leicht an einen SQL Server (oder anderen Datenbankserver oder externe Access-Datei usw.) anzupassen. Theoretisch ist damit sogar eine Excel-Datei möglich.
Der Event für die Auswahl wird automatisch an eine Klasse "clsFlyoutMenuEvent" weitergegeben, damit alle Aktionen der Menüeinträge hier erstellt werden können, so daß das Menüformular nicht geändert werden muß.
Im Menüformular gibt es ein paar Konstanten (im Quelltext beschrieben), mit denen man ein paar Anpassungen durchführen kann.
Das Menü ist (da es ein Formular ist) natürlich beliebig im Design änderbar, auch die Menübuttons können zum Beispiel Checkboxen oder Radiobuttons sein, ebenso kann man einen unsichtbaren Button verwenden und damit ein anderes Element "vortäuschen", zum Beispiel ein Bild.
Die Datei habe ich in Versionen für A07, A2002-2003 und A2000 gespeichert, sollte also auch in älteren Access-Versionen funktionieren, da an sich keine Spezialitäten verwendet werden. Getestet ist es aber nur unter Access 2007.
Die Geschichte funktioniert natürlich ebenso in einem Access Projekt, hier muß man eben nur die Tabelle auf einen SQL Server auslagern und den ADO-Teil anpassen.
Das Formular beinhaltet bereits 10 Buttons für maximal 10 Menübuttons (nicht verwendete werden automatisch ausgeblendet), kann aber beliebig erweitert werden, solange die OptionValue-Einträge von 1 bis x durchnumeriert werden. Die Namen der Buttons spielen dabei keine Rolle.
Viel Spaß damit
Christian
| Beschreibung: |
| Flyout-Menü mit Access Bordmitteln in Versionen für Access 2000-Access 2007 |
|
 Download |
| Dateiname: |
FlyoutMenu.zip |
| Dateigröße: |
343.68 KB |
| Heruntergeladen: |
46 mal |
|
|