window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Ribbon für die Handyverwaltung

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Unsere Anwendung “Handyverwaltung” haben wir nun mit allen notwendigen Tabellen, Abfragen und Formularen ausgestattet. Es fehlen noch Berichte, um die enthaltenen Daten auszugeben und natürlich das Sahnehäubchen auf die Benutzeroberfläche: ein Ribbon, mit dem sich die verschiedenen Formulare und Funktionen aufrufen lassen. Dieses werden wir im vorliegenden Artikel vorstellen.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1802_Handyverwaltung.accdb.

Benötigte Ribbon-Befehle

Was genau wollen wir mit dem Ribbon steuern Als Erstes wollen wir dem Benutzer nicht zumuten, dass er die Formulare und (noch zu erstellenden) Berichte der Anwendung per Doppelklick auf die Einträge im Navigationsbereich öffnen muss. Die Anzahl der Elemente ist zwar noch überschaubar (siehe Bild 1), aber dem Benutzer wollen wir doch eine optisch ansprechendere Möglichkeit bieten, die Funktionen der Anwendung anzusteuern. Außerdem sind die meisten Elemente im Navigationsbereich für den Benutzer irrelevant beziehungsweise sollen überhaupt nicht geöffnet werden können – zum Beispiel die Tabellen, Abfragen und Module. Auch die Unterformulare sollte er tunlichst nicht öffnen, außer als Teil des entsprechenden Hauptformulars. Und viele der Formulare erfordern für eine einwandfreie Funktion auch die Angabe von öffnungsparametern, Filtern und anderer Einstellungen, sodass ein öffnen per Doppelklick aus dem Navigationsbereich heraus keinen Sinn macht.

Access-Objekte

Bild 1: Access-Objekte

Welche Elemente aber wollen wir nun im Ribbon unterbringen und wie ordnen wir diese an Wir haben ja verschiedene Möglichkeiten für die Erstellung einer Hierarchie, die normalerweise über die Ebenen tab-Element, group-Element und untergeordnete Steuer-elemente wie etwa das button-Element organisiert werden.

Um zu ermitteln, welche Formular und Funktionen wir vom Ribbon aus aufrufen wollen, hilft ein Blick in das Datenmodell (siehe Bild 2). Hier können wir zunächst die Verknüpfungstabellen zum Definieren der m:n-Beziehungen herauslassen. Es bleiben dann die folgenden Entitäten:

Datenmodell

Bild 2: Datenmodell

  • Personen
  • Mobilfunkgeräte
  • SIM-Karten
  • Verträge
  • Provider
  • Hersteller
  • Modelle

Für diese Elemente haben wir jeweils teilweise übersichtsformular, teilweise Detailformulare, aber auch kombinierte Formulare. Normalerweise würde man dies vielleicht konsistenter in immer der gleichen Art von Darstellung für übersichten und Details programmieren, aber wir wollten in dieser Beispiellösung ja auch die verschiedenen Möglichkeiten darstellen.

Im Prinzip gibt es hier keine Stammdaten, die nicht immer wieder mal geändert werden, daher wollen wir alle Entitäten gleich behandeln und diese in einem einzigen tab-Element darstellen. Für jede Gruppe von Elementen erstellen wir jedoch jeweils zwei Einträge, nämlich einen zur Anzeige der übersicht und einen zum Anlegen eines neuen Eintrags. Bei den Entitäten, wo wir die übersicht und die Detailansicht in eigenen Formularen anzeigen, ist das kein Problem.

Bei den Entitäten, die in einem einzigen Formular erscheinen, prinzipiell auch nicht – hier wird das gleiche Formular eben einmal zur Anzeige der übersicht mit dem ersten Datensatz in der Detailansicht angezeigt und einmal mit einem neuen, leeren Datensatz.

Wir haben noch zwei Tabellen ausgelassen: tblAnreden und tblMobilfunkgeraetearten. Während die Anreden mit den Einträgen Herr und Frau vollständig sind und nicht mehr bearbeitet werden müssen, gibt es für die Mobilfunkgerätearten schlicht keine eigene Eingabemaske. Sollten Mobilfunkgerätearten hinzukommen, kann der Benutzer diese direkt über das entsprechende Kombinationsfeld cboMobilfunk-geraete-arten im Formular frmModelldetails eingeben.

Ribbon-Tabelle hinzufügen

Um das Ribbon zu definieren, benötigen wir als Erstes eine geeignete Tabelle, um die Ribbon-Definition zu speichern. Diese nennen wir USysRibbons, damit Access diese Tabelle beim Starten automatisch erkennt und die darin enthaltenen Ribbon-Definitionen verwenden kann. Unter anderem tauchen diese dann in den Access-Optionen auf, wo Sie die beim öffnen der Anwendung anzuzeigende Ribbon-Definition festlegen können. Legen Sie also eine neue Tabelle an und fügen Sie die folgenden Felder hinzu:

  • RibbonID: Primärschlüsselfeld der Tabelle
  • Ribbonname: Name der Ribbon-Definition
  • RibbonXML: XML-Definition des Ribbons

Für das Feld Ribbonname legen wir vorsichtshalber einen eindeutigen Index fest, damit nicht versehentlich zwei Mal der gleiche Name angegeben wird (siehe Bild 3).

Tabelle zum Speichern der Ribbon-Definitionen

Bild 3: Tabelle zum Speichern der Ribbon-Definitionen

Wenn Sie die Tabelle gespeichert und geschlossen haben, wundern Sie sich möglicherweise, dass die Tabelle nicht im Navigationsbereich erscheint. Das ist der Fall, weil die Tabelle durch die Bezeichnung automatisch zur Systemtabelle wird.

Wenn Sie diese Tabelle im Navigationsbereich sehen wollen, müssen Sie mit der rechten Maustaste auf die Titelleiste des Navigationsbereichs klicken und den Eintrag Navigationsoptionen… aus dem Kontextmenü auswählen. Es erscheint der Dialog aus Bild 4, wo Sie die Option Systemobjekte anzeigen aktivieren. Anschließend erscheint neben den anderen Systemtabellen wie MSysObjects und so weiter auch die Tabelle USysRibbons im Navigationsbereich.

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

Schreibe einen Kommentar