Farbschema: Dunkel
Sie befinden sich hier: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » reference » app-model.json

app-model.json

Das Anwendungsmodell einer Datenbank: Titel, Symbol, Startformular, Menüband, Sprache der Komponenten, die Benutzeroberfläche jeder Betriebsart, die Betriebsarten, in denen jedes Verbindungsprofil laufen darf, und was ein Administrator im Betrieb anpassen darf. WklApplication speichert es in der Tabelle USysWklApp der Datenbank; das Build-Werkzeug liest es aus der Datei, die appModel in access-app.json nennt.

Signatur

{
  "version": 1,
  "title": "Kunden",
  "icon": "kunden.ico",
  "iconForFormsAndReports": true,
  "startForm": "frmAppShell",
  "ribbon": "AppRibbon",
  "language": "de",
  "modes": {
    "administration": { "navigationPane": false },
    "production": { "statusBar": false }
  },
  "profiles": [
    { "profile": "PROD", "modes": ["production"] },
    { "profile": "TEST", "modes": ["administration", "production"] }
  ],
  "adjustments": {
    "relink": true,
    "condition": { "function": "IsAdmin" },
    "options": [
      { "key": "Mail.Server", "label": "Mailserver", "default": "smtp.example.com" },
      { "key": "Branch", "label": "Filiale", "kind": "choice", "default": "Wien", "choices": ["Wien", "Graz"] }
    ]
  }
}

Zusammenfassung

Ein JSON-Objekt in UTF-8. Jeder Schlüssel außer version ist optional; ein weggelassener Schlüssel behält seinen Standardwert. Ein unbekannter Schlüssel, ein falscher Typ oder ein unbekannter Wert wird mit wkeInvalidValue unter Angabe der Stelle abgelehnt, nie ignoriert.

Schlüssel

SchlüsselTypStandardwertBedeutung
versionZahl–Formatversion; 1. Erforderlich. Ein neueres Format, als die Komponenten lesen, wird abgelehnt.
titleTextleerTitel des Access-Fensters (AppTitle); leer behält den eigenen Titel von Access.
iconTextleerDateiname einer .ico- oder .bmp-Datei, die mit dem Modell gespeichert wird (WklApplication.SaveIcon oder das Build-Werkzeug aus dem Ordner der Modelldatei); wird zu AppIcon.
iconForFormsAndReportstrue/falsefalseZeigt das Symbol auch in den Titelleisten von Formularen und Berichten (UseAppIconForFrmRpt).
startFormTextleerFormular, das beim Start geöffnet wird (StartUpForm); leer für keines.
ribbonTextleerMenüband der Anwendung (CustomRibbonID), ein Name in USysRibbons; leer für das Menüband von Access.
languageTextleerSprache der Anwendung: ein Sprachcode in Kleinbuchstaben (de, fr …); die WKL-Komponenten übernehmen ihn, wenn er en, de, sl, hr oder it ist. Leer für automatisch (Office, dann Windows, dann Englisch).
modesObjektStandardwerte untenBenutzeroberfläche je Betriebsart, Schlüssel development, administration, production.
profilesArraykeineRegeln: die Betriebsarten, in denen ein Verbindungsprofil laufen darf.
adjustmentsObjektkeinesWas im Betrieb ohne Entwicklungszugriff angepasst werden darf.

modes

Jede Betriebsart ist ein Objekt mit den folgenden Schaltern, alle true/false. Geschrieben werden nur Werte, die vom Standardwert dieser Betriebsart abweichen; eine weggelassene Betriebsart behält alle ihre Standardwerte.

SchalterStarteigenschaftdevelopmentadministrationproduction
navigationPaneStartUpShowDBWindowtruetruefalse
statusBarStartUpShowStatusBartruetruetrue
fullMenusAllowFullMenustruefalsefalse
shortcutMenusAllowShortcutMenustruetruefalse
builtInToolbarsAllowBuiltInToolbarstruefalsefalse
specialKeysAllowSpecialKeystruefalsefalse
bypassKeyAllowBypassKeytruefalsefalse

Die Betriebsart wird nie konfiguriert; WklApplication ermittelt sie: Eine ACCDB ist development, eine ACCDE im vollständigen Access administration, eine ACCDE in der Access Runtime production.

profiles

Ein Array von Objekten mit profile (ein Verbindungsprofil des Linked Tables Managers, zum Beispiel PROD) und modes (ein Array von Namen von Betriebsarten). Ein Profil, das in einer Betriebsart verwendet wird, die seine Regel nicht nennt, meldet EnsureApplication; abgelehnt wird es nie.

adjustments

SchlüsselTypBedeutung
relinktrue/falseErlaubt, in ShowSettings die Verbindungen auf einen anderen Server oder eine andere Datenbank umzustellen.
conditionObjektWer ShowSettings öffnen darf: profiles (Array von Profilnamen), fileKinds (Array aus accdb, accde, runtime), function (Name einer VBA-Funktion, die True zurückgibt); alle angegebenen Teile müssen zutreffen. Weggelassen: alle.
optionsArrayOptionen der Anwendung in der Reihenfolge des Dialogs: key (Buchstaben, Ziffern, Unterstrich, Punkt; eindeutig), label (Text im Dialog; leer zeigt den Schlüssel), kind (text als Standardwert, number, yesNo, choice), default (in der Schreibweise der Art: Zahl in invarianter Schreibweise, true/false), choices (Array, für choice). Die Anwendung liest einen Wert mit WklApplication.OptionValue.

Hinweise

Ohne Modell wird nichts gesetzt. Eine Datenbank ohne gespeichertes Modell behält ihre Starteigenschaften, wie sie sind: EnsureApplication gibt einen leeren Text zurück und ändert nichts, in jeder Betriebsart. Die abgesicherten Standardwerte von production gelten erst, wenn ein Modell gespeichert ist; das kleinste Modell ist { "version": 1 }, das genau die Standardwerte der obigen Tabelle anwendet.

Wann die Werte wirken. WklApplication.Apply, Save und EnsureApplication schreiben die Starteigenschaften der aktuellen Betriebsart. Titel und Symbol wirken sofort; jede andere Starteigenschaft wirkt beim nächsten Öffnen der Datenbank. Rufen Sie EnsureApplication beim Start der Anwendung auf (zum Beispiel im Startformular), damit sich eine ACCDE, die für eine Betriebsart gebaut und in einer anderen geöffnet wird, ab dem nächsten Öffnen selbst korrigiert. Das Build-Werkzeug schreibt die Starteigenschaften jedes deploy-Ziels in die ausgelieferte Kopie, ohne sie zu öffnen.

Gleiche Bytes. WklApplication.Canonical gibt das Modell mit den Schlüsseln in der Reihenfolge dieser Seite und ohne Standardwerte zurück; dasselbe Modell ergibt so immer denselben Text, und die Datei lässt sich unter Versionsverwaltung stellen. Der Designer und Save speichern diese Form.

Codebeispiel

Dim app As New WklApplication
Debug.Print app.Check("{ ""version"": 1, ""title"": ""Kunden"" }")   ' empty: no problems
app.Save "{ ""version"": 1, ""title"": ""Kunden"", ""startForm"": ""frmAppShell"" }"

Verwandte Themen

de/wiki/msaccess/comctl/reference/app-model-json.txt · Zuletzt geändert: von Wolfgang van der Stille