Befehle nur in der Entwicklung anzeigen
Zeigen Sie einen Befehl – oder eine ganze Gruppe, Registerkarte oder Registerkarte der Datei-Ansicht – nur im Entwicklungsprofil, nur in der ACCDB oder nur für Benutzer an, die die Anwendung zulässt.
Voraussetzungen: WKL Forms Object Library 1.49 oder höher.
Lösungsüberblick
Jeder Befehl, jede Registerkarte, jede Gruppe und jede Registerkarte der Datei-Ansicht des Menübandmodells hat eine Bedingung aus drei Teilen, die alle erfüllt sein müssen: Profile (das Verbindungsprofil des Linked Tables Managers), Dateiart (ACCDB, ACCDE, Runtime) und Funktion (eine öffentliche VBA-Funktion ohne Argumente, die True zurückgibt). Ein leerer Teil schränkt nicht ein.
Umsetzung
Markieren Sie im Menüband-Designer den Befehl (Seite Befehle) oder die Gruppe (Seite Menübänder) und füllen Sie Sichtbar, wenn aus, zum Beispiel:
| Ziel | Profile | Dateiart | Funktion |
|---|---|---|---|
| Werkzeuge des Entwicklers | DEV | ACCDB | |
| Nur für Administratoren | IsAdmin |
||
| Nie in der Runtime | ACCDB, ACCDE |
Die Funktion der Bedingung:
Public Function IsAdmin() As Boolean
On Error Resume Next
IsAdmin = Nz(TempVars("rolle"), "") = "Admin"
End Function
Nachdem die Anmeldung die Rolle gesetzt hat, fragen Sie das Menüband erneut ab:
TempVars("rolle") = "Admin"
WklRibbonObject().Invalidate
Hinweise
- Das Profil ist das mit
WklRibbonObject().Profilegesetzte, andernfalls das, das die meisten verknüpften Tabellen verwenden (wieWklLinkManager.DetectEnvironment). Eine Datenbank ohne Verknüpfungskonfiguration hat das leere Profil; eine Bedingung mit Profil blendet das Element dort daher aus. - Die Art der Datenbank wird einmal je Sitzung gelesen: Zuerst zählt die Runtime (eine ACCDE in der Runtime gilt als „Runtime“), dann ACCDE, sonst ACCDB.
- Die Funktion wird jedes Mal aufgerufen, wenn Access das Element abfragt. Halten Sie sie schnell und geben Sie ihr eine eigene Fehlerbehandlung.
- Das Ausblenden ist eine Bequemlichkeit, kein Schutz: Wer die Datenbank öffnen kann, kann die Aktion ausführen. Prüfen Sie Berechtigungen in der Datenquelle.