Access: Menüband anpassen

Informationen im Menüband anzeigen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Mit wenig Aufwand lassen sich nun die noch fehlenden Schaltflächen ergänzen. Da die "Schließen"-Schaltfläche sowohl auf Formularen als auch möglicherweise Berichten erscheint, muss sie beide Fälle berücksichtigen.

Transkript

Das kontextsensitive Register Export ist jetzt im Prinzip fertig, aber das Fenster-Register ist noch leer. Dort schreibe ich typischerweise die Sachen rein, die für das Fenster allgemein gültig sind, also nicht speziell für den Export, das ist sowas wie Schließen, Datensatz speichern oder Aktualisieren, und zwar für alle Formulare gleichzeitig. Deswegen muss ich jetzt wieder in USysRibbons, das habe ich mir schon in den Texteditor kopiert und an dieser Stelle nachbessern. Also bei Fenster mache ich eine neue Gruppe auf. Ich nehme erst mal die Datensätze, denn das geht schneller, weil die praktisch fertig sind. Die habe ich mir schon in die Zwischenablage kopiert, also hier ist die Gruppe für die Datensätze, dort gibt es fertige idMso-Werte, die heißen hier entsprechend GoToFirstRecord, GoToPreviousRecord. Die müssen Sie nicht selber programmieren, die aktualisieren sich, das heißt, die werden schon grau, wenn Sie im letzten Datensatz sind. Dann gibt es kein GoToLastRecord, dieser GoToFirstRecord ist grau, wenn Sie im ersten Datensatz sind und so weiter. Viele haben das früher in Schaltflächen nachprogrammiert, mit vorwärts, rückwärts, am Anfang und am Ende. Das ist eine ganz furchtbare Programmierung, ganz viel zu überwachen, das gibt es hier fertig. Und zusätzlich mache ich noch einen GoToNewRecord, also neuer Datensatz, der auch sonst sehr klein am unteren Rand ist. Das entspricht diesen Schaltflächen hier sozusagen in groß. Damit ist der erste Teil fertig und ich schreibe die zweite Gruppe, auch die muss ich jetzt nicht wirklich tippen, die habe ich schon in der Zwischenablage bereitgelegt, hier reinkopiert. Deren Besonderheit ist hier eigentlich vor allem, dass ich ein Bild auswechsle. Ich werde also an dieser Stelle nicht das Originalbild von RecordsSaveRecord nehmen, das gefällt mir nicht so gut, sondern ich werde ein fremdes Bild benutzen. Das geht. Wenn ich nichts dagegen mache, kriege ich mit idMso das Bild, was dazugehört. Ich kann aber jederzeit auch für die integrierten Elemente andere Bilder benutzen, in diesem Fall sogar ein anderes Bild von einem integrierten Objekt. Und ich muss dran denken, hier steht eine Datei, die besitze ich schon für das FensterSchliessen und hier steht ein getLabel, ich muss also gleich grpDatensaetze im Label berücksichtigen. Jetzt erst mal wieder alles kopieren und in USysRibbons einfügen, immer noch in dem Standardmenüband, wir haben also derzeit nur ein einziges und dann muss ich mit Alt+F11 im Code-Editor hier bei modRibbonCallbacks beim getLabel ergänzen. Das ist eine Gruppe, die schreibe ich mal davor, die hieß Case grpDatensaetze, aber natürlich ohne Umlaut und dann soll der Label-Wert erst mal einfach Datensatz heißen, aber ich könnte an der Stelle dann zum Beispiel auf das aktuelle Formular hinweisen. Ich lasse es erst mal so statisch. Das ist immer so ein bisschen als Vorbereitung, wenn es dann doch dynamisch wird, muss man nicht wieder an drei Stellen ändern, die ich gerade sowieso in der Hand hatte. Jetzt sollte alles in Ordnung sein, also mit Debbugen Kompilieren prüfen, was möglich ist und mit Alt+F11 in die eigentliche Datenbank zurück und einmal komprimieren lassen. Ja, speichern, natürlich. Und dann muss ich jetzt einfach irgendein Formular öffnen und dann schauen wir mal. Hier steht Datensatz, Sie sehen, es wird automatisch passend zur Datensatznavigation hier auch aktualisiert. Wenn ich zum letzten gehe, kann ich auch hier machen oder zum ersten, dann wird hier jeweils aktualisiert beziehungsweise deaktiviert, wie es nötig ist. Da sind meine drei Schaltflächen von Allgemein, hier kann ich das Fenster schließen, allerdings tut es noch nichts. Wenn ich hier drauf klicke, kriege ich meine Meldung, die muss ich also noch korrigieren, das ist OnActionButton, also muss ich auch hier, OnActionButton, einen berücksichtigen, also Case btnSchliessen, auch da ohne Umlaute und dann muss ich hier noch eine Prozedur vorbereiten, also bei den Subs, da gibt es noch kein wirkliches Schließen, da will ich jetzt kein Fehlt noch machen, sondern Sub SchliesseDies, nenne ich das mal ganz neutral. Da sollte ein bisschen Abstand hin, denn ich weiß gar nicht, was ich schließe. Ich werde jetzt also einfach mal ins Blaue hinein schließen, das heißt, wenn Fehler auftreten, dann soll keine Meldung kommen und dann versuche ich mal ein docmd.Close, und zwar für acForm für screen.ActiveForm.name. Ich versuche also das Formular, was auf dem Bildschirm ist, zu schließen, wenn da allerdings ein Bericht offen ist, dann lässt sich das nicht schließen, weil es kein Formular ist, deswegen probiere ich direkt hinterher, den Bericht zu schließen. acReport und dann screen.ActiveReport.name und dann sollte ich die Fehler wieder einschalten, also On Error GoTo 0. Und dieses SchliesseDies kann man bei Gelegenheit noch erweitern, wenn es auch für Tabellenabfragen gelten soll. Dieses SchliesseDies kann ich dann hier aufrufen und damit bleibt es hier kompakt und praktisch. Jetzt sollten wir es noch mal eben probieren. Der Code wird direkt ausgeführt. Wenn ich jetzt hier drauf klicke, dann muss ich nicht neu komprimieren, also ein Klick hier und wie Sie sehen, ist ohne Gemecker sozusagen das Formular geschlossen, egal, ob da grade ein Formular oder ein Bericht offen ist.

Access: Menüband anpassen

Nutzen Sie als Datenbankentwickler das Menüband in Access, um dort sauber und platzsparend Ihre Schaltflächen und Bedienelemente unterzubringen – sogar kontextsensitiv.

2 Std. 7 min (24 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:12.06.2018

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!