Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Eine Datenbank mit Access 2013 richtig entwickeln

Menü komplett fertigstellen

Testen Sie unsere 2019 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Nach Ergänzung der fehlenden Menütexte sehen Sie nun das komplette Menü mit der Reaktion auf evtl. gefilterte Unternehmen und auf die Rechte des Benutzers.

Transkript

Bisher war dieses dynamische Menü mehr eine Skizze. Sie haben das Konzept gesehen, wie es erstellt wird, mit einem einzigen Eintrag. Inzwischen habe ich ein bisschen Fleißarbeit gemacht und hineingeschrieben, was dort eigentlich erscheinen soll, so dass es jetzt kompletter ist. Aber es ist nicht inhaltlich mehr, sondern nur in der Menge. Statt eines einzigen Eintrages mit einem Untermenü gibt es jetzt eben mehr Einträge, die übrigens automatisch grau sind, wenn sie keine Untermenü-Einträge haben. Und diejenigen, die ich überhaupt sehen darf, haben eben auch mehr Untermenü-Punkte. Die tun nichts. Wo auch immer ich draufklicke, außer beim Datenbank-Beenden, kommt immer die Reaktion: "Diese Aktion fehlt noch." Einfach, damit es nicht soviel Arbeit wird. Aber an sich ist dieses Menü jetzt komplett. Sie sehen schon, ich habe kein spezielles Unternehmen ausgewählt, und deswegen steht hier mit Fragezeichen und in grau, dass dort kein Inhalt hinterlegt ist. Wenn ich jetzt ein Unternehmen auswähle, dann wird das da auch sofort angezeigt. Ich sehe jetzt hier nicht nur die ID und den Inhalt, sondern auch hier die Untermenü-Punkte. Das möchte ich Ihnen jetzt entsprechend zeigen, im Code. Bisher gab es im Wesentlichen diese eine Zeile mit ihrem Ende an dieser Stelle und natürlich dem einen Menüeintrag. Es gibt dort einen zweiten Menüeintrag, dass ein Benutzer fiktive Nachrichten ansehen kann. Und dessen Existenz wird allerdings abgefangen anhand der Tatsache, ob der Benutzer Gast ist oder nicht. Nur richtige Benutzer, sozusagen, haben eine User-ID größer als Null. Und die dürfen auch Nachrichten ansehen, die übrigen, die Gäste, kriegen bei diesem Konzept hier keine Nachrichten. Man kann natürlich auch für Gäste spezielle Nachrichten hinterlegen, wenn man es denn möchte. Das ist eigentlich nur ein Beispiel, um zu sehen, wie Sie sehr bequem in VBA mit so einfachen Abfragen und "if"-Bedingungen die Zusammensetzung des Menüs ändern können. Das geht sogar für ganze Menüblöcke. Sie haben eben gesehen: Wenn das Unternehmen nicht ausgewählt ist, dann steht da ein anderer Titel, nämlich "Unternehmen?", "Es ist kein Unternehmen ausgewählt". Und das entscheide ich einfach daran, ob die Unternehmens-ID größer gleich beziehungsweise kleiner gleich Null ist. Das ändert also den Eintrag. Dass der Eintrag grau wird, liegt daran, dass keine Untermenüs vorhanden sind. Wenn ich also mit der Auswahl hier wieder auf alle gehe, dann ist dieses Menü grau, aber einfach deswegen, weil es keine Untermenü-Einträge gibt. Wenn ich dort nämlich jetzt einen Untermenü-Eintrag hinzufüge und dann ins Menü gehe, sehen Sie, das ist ganz normal aktiv, weil hier eben ein Inhalt ist. Das ist mehr eine indirekte Erscheinung. Ich finde das persönlich überzeugender, wenn dort gar nichts steht. Deswegen werde ich das wieder auskommentieren. Was hier drinsteht, ist eigentlich fast unerheblich. Sie sehen, die meisten haben "eine spezielle Aktion fehlt noch". Sprich, nachher beim Klick darauf gibt es diese Meldung. Das Konzept zieht sich so weiter durch. Ich prüfe die Niederlassungs-ID und ändere deswegen die Texte mit den echten Inhalten oder dem Hinweis "Da ist nichts ausgewählt", und mache das gleiche für die Mitarbeiter. Ein bisschen für den Überblick gibt es hier noch Kommentare. Dann gibt es unten ein Verwaltungsmenü. Das ist sowieso nur für den Admin zu sehen, oder besser gesagt, zu erreichen. Für die anderen ist es grau. Achten Sie an der Stelle vor allem darauf: Die Prüfung "UserIstAdmin" hat ja optional eine Meldung. Wenn ich die vergesse oder, wie hier jetzt, einfach wegnehme, dann würde, wenn jemand nicht Admin ist, eine Meldung erscheinen. Das fällt Ihnen aber möglicherweise erst beim Benutzer auf. Wenn Sie das selber testen und vermutlich Admin sind, gibt es nämlich sowieso keine Meldung. Also baue ich es wieder ein. Sonst würde jeder Menüaufruf eben eine MessageBox erzeugen. Da wird also das gesamte Menü gefüllt oder nicht, aber im Grunde sind es die gleichen Konzepte wie für Mitarbeiter, die ausgewählt sind oder nicht. Und zum Schluss gibt es noch etwas für die Hilfe, damit die auch nicht vergessen wird. Und daher sollten wir jetzt einen zweiten Blick werfen, nicht nur auf die Menüerstellung, sondern auch auf den Menüaufruf. Der Aufruf funktioniert nach demselben Konzept wie bisher. Es gibt eine Nummer, die ich übergeben kriege, mehr oder weniger indirekt. Bei "NichtsTun" passiert nichts, bei "FehltNoch", das ist neu, gibt es jetzt hier eine Meldung. Einfach nur, damit ich weiß: Es hat funktioniert. Aber da muss noch der Programmierer, nämlich ich selbst, etwas dranbasteln. Dann gibt es zwei schon vorgesehene Enumerations-Konstanten, "UnternehmenDieses", "UnternehmenAlle". Nur damit Sie sehen, dass das, was ich in dem Steuerungsformular vorgesehen hatte und dort testweise eingebaut habe, hierhin gehört. Im Steuerungsformular gibt es nämlich hier zwei Schaltflächen, die ab jetzt überflüssig sind. Ich kann also hier in "frmSteuerung" diese Testschaltfläche, das betrifft jetzt vor allem das Unternehmen, eigentlich weglassen. Dieser Code findet statt im DynamicMenue, und zwar, wenn ich alle Unternehmen aufrufen will. Und der andere Code, der mit dem Filter, findet genau dann statt, wenn ich eines aufrufen will, dieses nämlich. Und dieses ist nur aufrufbar, wenn der Menüpunkt aktiv ist, und der ist ja vorher gefiltert, je nachdem, ob Sie überhaupt ein Unternehmen ausgewählt haben. Jetzt können wir es auch sozusagen komplett scharf schalten, dass also alle Aktionen sinnvoll funtionieren. Vielleicht testen wir das vorsichtshalber nochmal. Also alt+F11, das Menü klappt aus. Ich habe kein Unternehmen ausgewählt. Ich kann also nichts falsch machen. Jetzt wähle ich hier ein Unternehmen aus, sagen wir die "Hinz und Kunz AG", und kann jetzt nämlich tatsächlich genau dieses, das steckt da hinter dem Stammdatenformular, anklicken, und erhalte hier natürlich die Fehlermeldung mit dem Schlüsselwort "Me". Da hätte ich nur ordentlich gucken müssen. Die Unternehmens-ID ist ja jetzt allgemeiner. Dafür habe ich eine eigene Funktion, "UnternehmensID", und dann kann ich das, das steckt ja noch in dem Durchlauf drin, mit Klick hier oder F5 weiterlaufen lassen, und dann funktioniert es auch korrekter Weise. Also, es ist alles im Menü. Und deswegen kann das jetzt auch hier aus dem Entwurf heraus. Also dieses entfernen, und dieses auch. Die waren ja nur zu Testzwecken. Und jetzt hätte es wieder die volle Länge. Und da wir in dem Popup-Formular geändert haben, sollte ich auch nochmal kompilieren. Und das bedeutet, dass ich bei der Gelegenheit mir schnell die Admin-Rechte entziehe. Ich bin also nicht mehr Admin, als Trainer. Und vielleicht im ersten Anlauf auch mal Gast. Beim nächsten Start wird also das Menü direkt für mich deaktiviert. Sie sehen das hier direkt mit der Meldung. Und wenn ich jetzt hier hineingucke, ich bin ohne Rechte und darf eigentlich praktisch nichts. Ich könnte auch noch dafür sorgen, dass diese gar nicht angezeigt werden oder trotz Filterauswahl nicht aktiviert werden. Sie haben das Konzept gesehen. Das ist also insgesamt relativ übersichtlich. Jetzt werde ich mich wieder in der Tabelle "User" mit einem vernünftigen Login versehen, muss dann schnell wieder komprimieren, damit das alles neu gelesen wird, und finde jetzt hier im Menü, dass ich wieder als normaler Mitarbeiter gelte, aber, das sehe ich jetzt hieran, ich habe keine Administrationsrechte. Damit haben Sie gesehen, wie das Menü perfekt und komplett erstellt werden kann. Ein Eintrag mehr oder ein paar deaktivierte sind überhaupt keine Probleme mehr. Sie müssen nicht überlegen, wo Sie im Ribbon noch Platz finden, ob Sie irgendwelche Schaltflächen noch unterbringen. Dieses Menü, Sie haben ja bemerkt, es wird erstellt, wenn ich hier oben drauf klicke, ist unglaublich schnell bei der Erstellung. Auch das ist also kein Problem. Und Sie können es übersichtlich gestalten, deaktivieren, sodass der Benutzer mit diesen Hilfstexten nämlich immer weiß, was er tun muss oder was er nicht tun darf.

Eine Datenbank mit Access 2013 richtig entwickeln

Sehen Sie einem erfahrenen Datenbankentwickler über die Schulter und lernen Sie dabei, wie Sie in Access 2013 optimale und perfekt skalierbare Datenbank anlegen und pflegen.

5 Std. 18 min (53 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!