Color scheme: Riviera
You are here: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » reference » navpane.json

navpane.json

Das Modell des Navigationsbereichs einer Datenbank. Es beschreibt eine benutzerdefinierte Kategorie des Access-Navigationsbereichs mit ihren Gruppen und Verknüpfungen, die Gruppe, die der Bereich beim Start zeigt, ob die Access-Gruppe der nicht zugewiesenen Objekte ausgeblendet ist und ob der Bereich gesperrt ist. Bedingungen legen fest, wann eine Gruppe oder Verknüpfung erscheint. WklNavPane speichert das Modell in der Tabelle USysWklNavPane der Datenbank. Das Build-Werkzeug liest es aus der Datei, die navPaneModel in access-app.json nennt, in einem Projekt des WKL Office SDK aus navigation/navpane.json seiner Quellen.

Signatur

{
  "version": 1,
  "category": "Kunden",
  "defaultGroup": "Daten",
  "hideUnassigned": false,
  "lock": true,
  "groups": [
    {
      "name": "Daten",
      "entries": [
        { "kind": "form", "object": "frmCustomer", "label": "Kunden" },
        { "kind": "report", "object": "rptCustomerList", "label": "Kundenliste" }
      ]
    },
    {
      "name": "Verwaltung",
      "condition": { "profiles": ["DEV", "TEST"], "fileKinds": ["accdb"] },
      "entries": [
        { "kind": "table", "object": "tblCustomer" },
        { "kind": "module", "object": "basAdmin", "condition": { "function": "IsAdmin" } }
      ]
    },
    { "name": "Archiv", "hidden": true }
  ]
}

Zusammenfassung

Ein JSON-Objekt in UTF-8. Alle Schlüssel außer version sind optional; für einen weggelassenen Schlüssel gilt sein Vorgabewert. Ein unbekannter Schlüssel, ein falscher Typ oder ein unbekannter Wert wird mit wkeInvalidValue und der Angabe der Stelle abgelehnt, nie übergangen. Kommentare sind nicht zulässig.

Schlüssel

SchlüsselTypVorgabeBedeutung
versionZahl-Formatversion; 1. Pflicht. Eine andere Zahl wird abgelehnt.
categoryTextleerName der benutzerdefinierten Kategorie, wie ihn die Überschrift des Bereichs und die Liste der Kategorien zeigen. Pflicht, bevor das Modell gespeichert werden kann (höchstens 255 Zeichen).
defaultGroupTextleerDie Gruppe, auf die der Bereich beim Anwenden des Modells gefiltert wird; leer zeigt die ganze Kategorie. Muss eine nicht ausgeblendete Gruppe des Modells nennen (Groß- und Kleinschreibung zählt nicht).
hideUnassignedtrue/falsetrueBlendet die Access-Gruppe „Nicht zugewiesene Objekte“ der Kategorie aus; false zeigt dort jedes Objekt der Datenbank, das in keiner Gruppe steht.
locktrue/falsefalseSperrt den Bereich gegen Löschen, Umbenennen und Ändern von Gruppen (DoCmd.LockNavigationPane).
groupsArraykeineDie Gruppen der Kategorie in dieser Reihenfolge.

Gruppe

SchlüsselTypVorgabeBedeutung
nameText-Beschriftung der Gruppe. Pflicht, höchstens 255 Zeichen, eindeutig innerhalb der Kategorie (Groß- und Kleinschreibung zählt nicht).
hiddentrue/falsefalseDie Gruppe existiert, ist aber ausgeblendet: Access zeigt sie nur grau, wenn ausgeblendete Objekte angezeigt werden. Eine ausgeblendete Gruppe kann nicht defaultGroup sein.
conditionObjektkeineWann die Gruppe erscheint; siehe Bedingung. Eine Gruppe, deren Bedingung nicht zutrifft, wird gar nicht geschrieben.
entriesArraykeineDie Verknüpfungen der Gruppe. Der Bereich sortiert sie selbst nach dem angezeigten Namen.

Eintrag

SchlüsselTypVorgabeBedeutung
kindText-Die Art des Objekts: table (lokal oder verknüpft), query, form, report, macro oder module (Standard- oder Klassenmodul). Pflicht.
objectText-Name des Objekts in der Datenbank (zum Beispiel frmCustomer). Pflicht. Dasselbe Objekt darf je Gruppe nur einmal vorkommen.
labelTextleerName, den der Bereich für die Verknüpfung anzeigt (höchstens 255 Zeichen); leer zeigt den Objektnamen.
conditionObjektkeineWann die Verknüpfung erscheint; siehe Bedingung.

Bedingung

Dieselbe Form wie bei den Bedingungen der Menüband-Befehle. Jeder angegebene Teil muss zutreffen; eine weggelassene Bedingung trifft immer zu.

SchlüsselTypBedeutung
profilesArray aus TextDie Verbindungsprofile (zum Beispiel DEV, TEST, PROD des WKL Linked Tables Managers), unter denen die Gruppe oder Verknüpfung erscheint; Groß- und Kleinschreibung zählt nicht. Das Profil ist das mit WklNavPane.Profile oder WklRibbon.Profile gesetzte, sonst das Profil, das die meisten verknüpften Tabellen verwenden.
fileKindsArray aus Textaccdb (eine ACCDB im vollständigen Access), accde (eine ACCDE im vollständigen Access), runtime (jede Datenbank in der Access Runtime); erscheint, wenn die Datenbank zu einer der genannten Arten gehört. Eine Datenbank in der Runtime zählt nur als runtime.
functionTextName einer öffentlichen VBA-Funktion ohne Argumente; erscheint, wenn sie True oder eine Zahl ungleich 0 zurückgibt. Eine Funktion, die fehlschlägt, zählt als False.

Hinweise

Wann Bedingungen wirken. Bedingungen werden ausgewertet, wenn das Modell angewendet wird (WklNavPane.Apply und Save, sofern dessen zweites Argument nicht False ist). Was nicht zutrifft, wird nicht in den Bereich geschrieben, und ein Benutzer kann es auch über die Navigationsoptionen nicht sichtbar machen. Der Bereich behält, was zuletzt geschrieben wurde: Eine Anwendung, deren Bereich je Umgebung verschieden ist, ruft beim Start Apply auf, zum Beispiel im Ereignis Beim Laden ihres Startformulars. Bedingungen sind eine Erleichterung, kein Schutz; wer die Datenbank öffnet, kann das Objekt auf anderem Weg öffnen.

Fehlende Objekte. Ein Eintrag darf ein Objekt nennen, das die Datenbank noch nicht hat (ein späterer Build fügt es hinzu). Check zählt das nicht als Problem; Apply lässt den Eintrag weg und gibt je fehlendem Objekt eine Zeile zurück.

Gleiche Bytes. WklNavPane speichert das Modell mit den Schlüsseln in der Reihenfolge dieser Seite und ohne Vorgabewerte (hideUnassigned nur bei false, lock und hidden nur bei true), mit zwei Leerzeichen Einzug, LF-Zeilenenden und einem abschließenden Zeilenende. Ein gelesenes und wieder geschriebenes Modell ergibt denselben Text, die Datei lässt sich also in der Versionsverwaltung führen.

Integrierte Kategorien. Geschrieben wird nur die eigene Kategorie. Die integrierten Kategorien von Access (Objekttyp, Tabellen und zugehörige Ansichten) bleiben unverändert.

Codebeispiel

Dim pane As New WklNavPane
Debug.Print pane.Check("{ ""version"": 1, ""category"": ""Kunden"" }")   ' empty: no problems
pane.Save "{ ""version"": 1, ""category"": ""Kunden"", ""groups"": [ { ""name"": ""Daten"" } ] }"

Verwandte Themen

de/wiki/msaccess/comctl/reference/navpane-json.txt · Last modified: by Wolfgang van der Stille