Farbschema: Riviera
Sie befinden sich hier: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Office SDK » how-to » Access-Add-In verwenden

Access-Add-In verwenden

Sie sehen, was nicht auf demselben Stand ist, exportieren, importieren, committen und öffnen ein Terminal, ohne Access zu verlassen.

Kontext und Problemstellung

Ein Entwickler arbeitet in Access, die Schritte zwischen Access und dem Repository laufen jedoch auf der Befehlszeile; das Add-In legt sie auf eine Registerkarte im Menüband der Datenbank, die der Entwickler geöffnet hat.

Lösungsüberblick

wkl-office addin install registriert das Add-In für den aktuellen Benutzer. Beim nächsten Start von Access zeigt das Menüband die Registerkarte WKL SDK:

GruppeSchaltflächeFunktion
ProjektName des Projekts (Menü)Zeigt das Projekt der geöffneten Datenbank an und wechselt zu einem anderen (siehe unten).
ProjektÄnderungenÖffnet die Änderungsübersicht (siehe unten).
ProjektStatusListet die in Access oder in den Quellen geänderten Objekte auf, wie wkl-office status.
ProjektSynchronisierenÜberträgt jede Änderung, die nur in Access oder nur in den Quellen vorgenommen wurde, auf die andere Seite, wie wkl-office sync; auf beiden Seiten geänderte Objekte warten auf eine Entscheidung.
ProjektEigenschaftenÖffnet den Dialog Projekteigenschaften: die Build-Konfigurationen und Auslieferungsprofile des Projekts (siehe unten).
QuellenÄnderungen exportierenSchreibt die in Access geänderten Objekte in die Quellen, wie wkl-office export --changed.
QuellenÄnderungen importierenLädt die außerhalb von Access geänderten Quellen in die Datenbank, wie wkl-office import --changed.
QuellenAlles exportierenSchreibt die ganze Datenbank in die Quellen, wie wkl-office export.
BuildErstellen und neu öffnenSchließt die Datenbank, baut sie wie wkl-office build aus den Quellen und öffnet den neuen Build.
BuildKonfigurationWählt die Build-Konfiguration für „Erstellen und neu öffnen“, „Neu erstellen und neu öffnen“ und „Validieren“; „Ausliefern“ und „Starter“ zeigen deren Auslieferungsprofile (siehe unten).
BuildNeu erstellen und neu öffnenWie „Erstellen und neu öffnen“, baut aber jedes Objekt neu, wie wkl-office rebuild.
BuildValidierenPrüft die gebaute Datenbank gegen die Quellen (Objekte, Verweise, Kompilierung), ohne etwas zu ändern, wie wkl-office validate.
BuildCode prüfenPrüft den VBA-Code der geöffneten Datenbank mit den Regeln des SDK und listet die Befunde auf der Registerkarte „Probleme“ auf (siehe unten).
BuildAbbrechenBricht den laufenden Vorgang ab (siehe unten). Nur aktiv, solange ein Vorgang läuft.
HerausgabeAusliefern (Menü)Die Auslieferungsprofile, die in der gewählten Konfiguration gebaut werden: alle (Alle Profile von Konfiguration) oder eines, wie wkl-office deliver --profile; wird in der Konfiguration kein Profil gebaut, zeigt das Menü Kein Profil für Konfiguration und Projekteigenschaften…; ohne Auslieferung öffnet Lieferung einrichten… die Projekteigenschaften mit dem Profil Production; Abhängigkeiten listet auf, was eine Lieferung mitführt. Siehe Anwendung aus dem SDK ausliefern.
HerausgabeStarter (Menü)Je Profil der gewählten Konfiguration: Im Bootstrapper Manager einrichten (öffnet die Projektdatei des Starters für das Profil), Probelauf (/whatif des Starters), MSI erstellen (wie wkl-office msi).
ToolsDesigner (Menü)Linked Tables Manager, Ribbon Designer, Shortcut Menu Designer, Navigation Pane Designer, Application Designer: die Designer der WKL Forms Object Library für diese Datenbank.
ToolsTerminalÖffnet eine Shell im Ordner des Projekts.
ToolsArbeitsbereichBlendet den Arbeitsbereich neben der Datenbank ein oder aus; erscheint gedrückt, solange der Arbeitsbereich angezeigt wird.
ToolsEinstellungenDie SDK-Einstellungen Ihres Windows-Benutzers: Vorgaben für neue Projekte, Ordner, Verhalten, Herausgebervorlage. Öffnet sich auch ohne Projekt.

Große Schaltflächen sind die drei Einstiegspunkte (Projekt, „Erstellen und neu öffnen“, „Designer“); die übrigen Befehle sind klein und gestapelt angeordnet, wie in den kompakten Menübändern des aktuellen Office.

Die Schaltflächen arbeiten mit dem Projekt der geöffneten Datenbank: Von den Ordnern der Datenbank und den drei Ordnern darüber bestimmt der nächstgelegene, der genau eine .acproj enthält, das Projekt; ein Ordner mit mehreren .acproj wird übersprungen, und die Suche geht weiter nach oben. Findet sich keiner, zeigt das Projektmenü „Kein Projekt“, und die Befehle bewirken nichts.

Projekteigenschaften

Die Schaltfläche Eigenschaften in der Gruppe Projekt öffnet den Dialog Projekteigenschaften: den einen Ort für die Build-Konfigurationen und Auslieferungsprofile des Projekts, wie die Eigenschaftenseiten in Visual Studio. Der Baum links listet sie auf; rechts stehen die Eigenschaften des gewählten Eintrags.

  • Build-Konfigurationen (Debug, Release und die der Projektdatei): ob eine ACCDE entsteht, der Modus des Anwendungsmodells und das Verbindungsprofil. Ein leerer Wert übernimmt den des Projekts. Sie stehen in der Projektdatei, die alles andere unverändert behält (Projektdatei).
  • Auslieferungsprofile: die Build-Konfiguration, in der ein Profil gebaut wird (daneben der Modus, den es ausliefert), ob es für die Access Runtime bestimmt ist, sein Auslieferungsordner, der Dateiname seines Starters und ob es eine ACCDB für 32- und 64-Bit-Office ausliefert. Im Bootstrapper Manager einrichten öffnet die Projektdatei des Starters für das Profil; der Starter schreibt sie bei der ersten Auslieferung des Profils. Ein Profil steht in delivery\<name>.profile.json (delivery-settings.json).
  • Auslieferung: die Version und die Release-Pakete, die alle Profile gemeinsam haben (delivery\delivery-settings.json).

Die Symbolleiste über dem Baum mit Neu, Kopieren, Umbenennen und Löschen (der Name steht in der QuickInfo) wirkt auf die gewählte Art; im Baum benennt F2 um, Entf löscht. Umbenennen eines Profils benennt sein Starter-Projekt mit um; Löschen fragt, ob auch das Starter-Projekt gelöscht wird. Eine Build-Konfiguration, die ein Profil verwendet, lässt sich nicht löschen. OK und Übernehmen schreiben die Änderungen; solange die Konfiguration eines Profils keinen Modus setzt, nennt der Dialog das, und beide bleiben gesperrt. Ein Projekt ohne Auslieferung erhält mit Lieferung einrichten eine: delivery-settings.json mit Version 1.0.0 und den neuesten Release-Paketen unter WKL_PACKAGES sowie das Profil Production, gebaut in Release (das den Modus Production erhält, wenn es keinen hat). Eine Auslieferung im Format 1 wird im Format 2 geschrieben, sobald sie hier geändert wird. Der Dialog öffnet sich nur, solange kein Vorgang läuft, und zwar bei der Konfiguration, die im Menüband gewählt ist.

Die Seite einer Build-Konfiguration zeigt außerdem, ob ihr Ausgabeordner (build\<configuration>) ein vertrauenswürdiger Speicherort von Access ist, an dem Access Datenbanken mit aktiviertem Code öffnet. Als vertrauenswürdigen Speicherort eintragen trägt genau diesen Ordner ohne Unterordner im Trust Center Ihres Windows-Benutzers ein; Entfernen nimmt einen Eintrag des SDK wieder heraus. Deckt ein anderer vertrauenswürdiger Speicherort den Ordner ab (etwa ein übergeordneter Ordner samt Unterordnern), nennt die Seite ihn und bietet nichts an. Die Seite Konfigurationen bietet Alle Ausgabeordner als vertrauenswürdige Speicherorte eintragen an. Beides wirkt sofort, nicht erst mit OK, weil es keine Datei des Projekts ändert. Das SDK trägt einen Ordner nur ein, wenn Sie es verlangen (hier oder mit dem Kästchen im Dialog Neues Projekt aus Datenbank), und ändert nie Einträge, die andere angelegt haben. Einen Netzwerkordner trägt es nur ein, wenn Access vertrauenswürdige Speicherorte im Netzwerk zulässt.

Build-Konfiguration wählen

Das Auswahlfeld Konfiguration in der Gruppe Build wählt die Build-Konfiguration des Projekts, wie das Auswahlfeld für die Konfiguration in Visual Studio. Es listet Debug, Release und die Konfigurationen der Projektdatei auf. Die gewählte Konfiguration bestimmt:

  • was „Erstellen und neu öffnen“, „Neu erstellen und neu öffnen“ und „Validieren“ bauen. „Erstellen und neu öffnen“ öffnet danach die Datenbank dieser Konfiguration: Ist Release gewählt und die Debug-Datenbank geöffnet, baut es build\Release\<name>.accdb und öffnet sie anstelle der Debug-Datenbank.
  • welche Auslieferungsprofile „Ausliefern“ und „Starter“ anzeigen: die, die in dieser Konfiguration gebaut werden. Der Eintrag Alle Profile von Konfiguration liefert genau diese aus; wkl-office deliver ohne --profile liefert weiterhin alle Profile des Projekts aus. Eine Auslieferung im Format 1 nennt für jedes Ziel einen Modus statt einer Konfiguration; dort zeigen beide Menüs alle Ziele.

„Status“, „Synchronisieren“, Export und Import von Änderungen, „Änderungen“ und Commit arbeiten mit der in Access geöffneten Datenbank, gleich welche Konfiguration gewählt ist. Die Wahl wird je Windows-Benutzer und Projekt in der Liste der zuletzt verwendeten Projekte gespeichert: Nach einem Neustart von Access ist sie weiterhin gewählt, und der Wechsel zum Projekt öffnet die Datenbank dieser Konfiguration. Öffnen Sie selbst eine andere Datenbank des Projekts, bleibt die Wahl unverändert. Hat das Projekt die gewählte Konfiguration nicht mehr (in den Projekteigenschaften umbenannt oder gelöscht), gilt die Konfiguration der geöffneten Datenbank.

Projekt wechseln

Das Projektmenü listet die zuletzt verwendeten Projekte auf (bis zu zehn, das neueste zuerst, das geöffnete mit „(geöffnet)“ markiert), jeweils mit Ordner und Konfiguration, dazu Projekt öffnen…, um eine .acproj-Datei auszuwählen (sie wird in der für sie gewählten Konfiguration geöffnet, ein noch nicht verwendetes Projekt in Debug). Die Auswahl eines Projekts schließt die geöffnete Datenbank und öffnet die Datenbank des Projekts, build\<configuration>\<name>.accdb, so wie Access eine zuletzt verwendete Datei öffnet, aber ohne Startcode: Wie bei `open` laufen Startformular und AutoExec nicht, und die Starteigenschaften gelten für diesen Start nicht; sobald die Datenbank geöffnet ist, sind AutoExec und die Starteigenschaften wieder da. Öffnen Sie die Datenbank auf dem üblichen Weg in Access (Doppelklick auf die .accdb, Datei › Öffnen), läuft ihr Startcode wie gewohnt. Hat das Projekt für die Konfiguration noch keine Datenbank, wird sie zuerst in einem verborgenen Access gebaut, wie bei „Erstellen und neu öffnen“. Der Wechsel wird abgelehnt, solange ein Formular oder Bericht geöffnet ist, weil das Schließen der Datenbank ihn ohne die Rückfrage von Access schließen würde; schließen Sie ihn und wählen Sie erneut. Die Liste wird je Windows-Benutzer unter HKEY_CURRENT_USER\Software\The White Knight Labs\Access Framework\Sdk\RecentProjects geführt; ein Projekt, dessen Datei nicht mehr vorhanden ist, wird ausgelassen.

Projekt aus einer geöffneten Datenbank anlegen

Gehört die in Access geöffnete Datenbank zu keinem Projekt, bietet das Projektmenü oberhalb von Projekt öffnen… den Eintrag Neues Projekt aus dieser Datenbank… an. Er öffnet den Dialog Neues Projekt aus Datenbank:

  • Name der Anwendung wird aus dem Dateinamen der Datenbank vorgeschlagen: Umlaute werden umschrieben (ä als ae), andere Akzente entfallen, und jedes Zeichen, das ein VBA-Bezeichner nicht erlaubt, wird zum Unterstrich. Der Name wird Dateiname der gebauten Datenbank und Name ihres VBA-Projekts.
  • Projektordner liegt unter dem Ordner für neue Projekte aus den SDK-Einstellungen, sonst neben der Datenbank. Er muss leer sein oder darf noch nicht bestehen. Ein Hinweis darunter meldet, wenn der Debug-Ausgabeordner des neuen Projekts kein vertrauenswürdiger Speicherort von Access ist: Access würde die dort gebaute Datenbank mit deaktiviertem Code öffnen. Das Kästchen Debug-Ordner als vertrauenswürdigen Speicherort eintragen ist dann markiert; mit Anlegen trägt das SDK den Ordner ein.
  • Neutrale Sprache und Bitbreite von Access beginnen mit den Einstellungen für neue Projekte.
  • Daten übernehmen listet die lokalen Tabellen, die Zeilen enthalten, alle markiert, so wie Access Tabellen mit Definition und Daten importiert. Eine markierte Tabelle erhält die Tabellenrichtlinie SeedData; ihre Zeilen werden damit in die Quellen geschrieben und bei jedem Build wieder in die Datenbank geladen. Eine nicht markierte Tabelle behält nur ihre Struktur. Entfernen Sie die Markierung bei Tabellen, deren Zeilen die Arbeitsdaten der Benutzer sind, etwa Aufträge oder Buchungen.

Anlegen schreibt den Projektordner wie `new` und exportiert die geöffnete Datenbank hinein wie Alles exportieren; die geschriebenen Dateien stehen unter Ausgabe. Die Datenbank selbst bleibt unverändert. Das neue Projekt ist sofort das geöffnete, sodass die Befehle der Registerkarte ohne erneutes Öffnen arbeiten, bis die Datenbank geschlossen wird. Erstellen und neu öffnen baut danach die Datenbank aus den Quellen im Build-Ordner und öffnet sie; von da an arbeiten Sie wie in jedem Projekt in der gebauten Datenbank. Abbrechen legt nichts an.

Im VBA-Editor

Das Add-In wird auch in den VBA-Editor desselben Access geladen. Sobald Sie den Editor öffnen (Alt+F11), zeigt er den Arbeitsbereich im Fenster WKL SDK und die Symbolleiste WKL SDK:

  • Das Fenster hat dieselben Registerkarten wie der Arbeitsbereich in Access (Projekt, Ausgabe, Probleme, Änderungen, Terminal). Sie docken es wie den Direktbereich an; der Editor merkt sich die Position für den nächsten Start.
  • Die Symbolleiste enthält die Befehle der Registerkarte im Menüband in denselben Gruppen. Projekt, Designer, Ausliefern und Starter sind Menüs mit den Einträgen des Menübands; Konfiguration ist ein Menü mit dem Namen der gewählten Konfiguration als Beschriftung, in dem diese Konfiguration gedrückt dargestellt ist. Wechseln Sie das Projekt oder die Konfiguration oder legen Sie ein Profil an, passen sich die Einträge innerhalb einer Sekunde an. Arbeitsbereich blendet das Fenster im Editor ein und aus, auch nachdem Sie es geschlossen haben.
  • Beide arbeiten mit dem Projekt der in Access geöffneten Datenbank und teilen sich mit dem Menüband eine Warteschlange: Ein im Editor gestarteter Vorgang erscheint in beiden Arbeitsbereichen, und es läuft immer nur ein Vorgang, gleich wo er gestartet wurde.
  • Ein Befehl aus der Symbolleiste oder aus dem Fenster des Editors stellt seine Rückfrage über dem Editor. Terminal, Änderungsübersicht und Meldungen öffnen sich im Fenster des Editors; haben Sie es geschlossen, erscheint es dafür wieder. Weil der Editor keine Statusleiste hat, zeigt er auch ein Ergebnis, das nichts von Ihnen verlangt, auf der Registerkarte Ausgabe.
  • Erstellen und neu öffnen im Editor baut wie im Menüband (siehe unten). Nach dem Neuöffnen der Datenbank zeigt Access den Editor wieder an, mit dem Codefenster und der Zeile, in der Sie zuletzt gearbeitet haben.
  • Speichern im Editor (Strg+S, die Schaltfläche Speichern oder Access, das ein Modul speichert) exportiert die in Access geänderten Objekte in die Quellen, wie Änderungen exportieren; das Ergebnis steht auf der Registerkarte Ausgabe. Objekte, die in Access und in den Quellen geändert wurden, warten wie dort auf eine Entscheidung unter Änderungen. Für ein Projekt schalten Sie es aus, indem Sie auf der Registerkarte Projekt Beim Speichern im VBA-Editor Änderungen in die Quellen exportieren deaktivieren; die Wahl gilt je Windows-Benutzer und Projekt.
  • Nach jedem Speichern im Editor prüft das Add-In außerdem den Code (siehe Code prüfen unten); die Befunde stehen auf der Registerkarte Probleme, zusammen mit denen des Exports.
  • Die Registerkarte Änderungen kennzeichnet ein im Editor geändertes, noch nicht gespeichertes Modul mit Im VBA-Editor geändert, nicht gespeichert. Ein Modul, das nach der letzten Prüfung geändert wurde, kommt mit dem Schritt Im VBA-Editor speichern (Strg+S) hinzu; ein Doppelklick öffnet seinen Code.
  • Excel, Word und Outlook laden die Add-Ins des VBA-Editors ebenfalls. Dort zeigt das Add-In weder Fenster noch Symbolleiste, weil seine Befehle eine Access-Datenbank voraussetzen.

Umsetzung

wkl-office addin install
wkl-office addin status

Starten Sie anschließend Access und öffnen Sie die aus dem Projekt gebaute Datenbank (build\Debug\<name>.accdb).

Die Änderungsübersicht zeigt dieselbe Tabelle wie wkl-office changes: jedes Objekt und jede Datei mit „Access ↔ Quelle“, dem Zustand in der Versionsverwaltung und dem nächsten Schritt, dazu den Branch im Vergleich mit seinem Remote. Ihre erste Zeile nennt den Zeitpunkt der Prüfung. Die Übersicht prüft erneut, wenn sie geöffnet wird, nach jedem ihrer Befehle, nach jedem Vorgang des Add-ins (zum Beispiel dem Export beim Speichern), wenn Access wieder zur aktiven Anwendung wird, und alle zwei Minuten, solange sie geöffnet ist. Eine Prüfung, die älter als fünf Minuten ist, wird als möglicherweise veraltet gekennzeichnet; eine fehlgeschlagene Prüfung zeigt NICHT AKTUELL und nennt, was fehlgeschlagen ist.

SchaltflächeSchritt
Jetzt prüfenPrüft sofort.
Änderungen exportieren, Änderungen importierenÜberträgt jede Änderung, die nur in Access oder nur in den Quellen vorgenommen wurde, auf die andere Seite; auf beiden Seiten geänderte Objekte bleiben unverändert.
Access behalten, Quelle behaltenEntscheidet für das ausgewählte, auf beiden Seiten geänderte Objekt, wie wkl-office sync <object> --keep access oder --keep source; fragt vorher nach, weil die Änderung der anderen Seite überschrieben wird.
Vergleich mit AccessDer vollständige Unterschied zwischen Quelle und Access für die ausgewählte Zeile; bei Formularen und Berichten ganz, nur Entwurf oder nur Code.
Vergleich mit GitDer vollständige Unterschied zwischen dem letzten Commit und der Quelldatei der ausgewählten Zeile.
Commit…Öffnet den Commit-Dialog: der Branch, die Nachricht, die geänderten Dateien mit Ordner und Zustand (anfangs alle ausgewählt; abgewählte Dateien bleiben für einen späteren Commit geändert), „Commit“ und „Abbrechen“. „Commit“ ist aktiv, sobald eine Nachricht eingegeben und mindestens eine Datei ausgewählt ist; Strg+Eingabe committet. Danach wird erneut geprüft, exportiert und committet, wie wkl-office commit. Gepusht wird nicht. Im VBA-Editor noch nicht gespeicherte Änderungen werden vorher gespeichert, wie mit Strg+S, damit Datenbank und Commit denselben Code enthalten.
PushPusht die Commits des Branches, wie wkl-office push.

Vom Vergleich zum Code. Im Vergleich eines Moduls, Klassenmoduls, Formulars oder Berichts öffnet Zum Code springen (oder ein Doppelklick auf eine Zeile) das Codefenster des VBA-Editors an dieser Zeile, auch aus dem Arbeitsbereich in Access. Die Zeile wird über ihre Prozedur gefunden, also auch dann, wenn sich der Code im Editor inzwischen geändert hat; eine Zeile außerhalb von Prozeduren wird über ihren Text gefunden.

Code prüfen. „Code prüfen“ liest den VBA-Code der geöffneten Datenbank aus dem VBA-Editor, gespeichert oder nicht, und prüft ihn mit denselben Regeln, die wkl-office check und der Build auf die Quellen anwenden; nach jedem Speichern im Editor läuft die Prüfung von selbst. Die Registerkarte „Probleme“ listet jeden Befund mit Objekt und Zeile auf; ein Doppelklick öffnet das Codefenster an dieser Zeile.

RegelSchweregrad
Deklaration nach der ersten ProzedurFehler
Variable nicht definiert: einem Namen wird ein Wert zugewiesen, er ist aber nirgends im Projekt deklariert, und das Modul hat Option ExplicitFehler
Schlüsselwort oder Anweisung als Sprungmarke (Write:), reserviertes Wort als Name (ByVal Until As Date)Fehler
Modul mit dem Namen des VBA-ProjektsFehler
Kennwort in einem VerbindungstextFehler
Anweisung, die fehlschlagen kann, in der aktiven Fehlerbehandlung vor Resume (zum Beispiel DoCmd.Close nach Failed:)Warnung
Error als NameWarnung
Pfad in ein BenutzerprofilWarnung
Option Explicit fehlt (nur im Editor, nicht beim Build)Warnung

Ein Fehler verhindert die Kompilierung des Projekts; ohne die Prüfung zeigt Access ihn erst als Dialog und ohne Zeile. „Variable nicht definiert“ prüft nur Namen, denen ein Wert zugewiesen wird, und keine Formular- und Berichtsmodule: Ein nur gelesener Name kann eine Funktion oder Konstante einer Bibliothek sein, in einem Formularmodul ein Steuerelement oder eine Eigenschaft des Formulars. In der Fehlerbehandlung gelten Aufrufe von Prozeduren des Projekts, Debug.Print, Err, MsgBox und Set … = Nothing als sicher. Der Befehl meldet außerdem, wenn das Projekt nicht kompiliert ist: Alle übrigen Kompilierfehler zeigt erst Debuggen › Kompilieren im VBA-Editor. Ursachen und Abhilfe: VBA-Code lässt sich nicht kompilieren.

Erstellen und neu öffnen. Die in Access geöffnete Datenbank ist das Build-Ergebnis ihres Projekts, ein Build ersetzt sie also. Die Schaltfläche prüft deshalb zuerst und lehnt ab – unter Nennung der Objekte –, solange Access eine Änderung enthält, die nicht in den Quellen ist (nächster Schritt „Exportieren“ oder „Entscheiden“), oder solange etwas nicht gespeichert ist; geschlossen wird dann nichts. Andernfalls fragt sie nach, schließt die Datenbank, baut in einem eigenen verborgenen Access (das sichtbare Access bleibt bedienbar) und öffnet den neuen Build oder, wenn der Build fehlgeschlagen ist, die vorherige Datenbank. In den Einstellungen (Seite Verhalten) können Sie die Rückfrage ausschalten und den Code vorher prüfen lassen: Findet die Prüfung einen Fehler, stoppt sie den Build, bevor die Datenbank geschlossen wird, und erscheint auf der Registerkarte „Probleme“.

Ist für das Projekt der Export beim Speichern eingeschaltet (siehe Im VBA-Editor), erledigt der Build vorher, was ein Speichern im Editor auslösen würde: Er speichert den Code im VBA-Editor und exportiert die in Access geänderten Objekte in die Quellen. Abgelehnt wird dann nur noch, wenn ein Objekt auf beiden Seiten geändert wurde oder der Export fehlschlägt.

Wo Ergebnisse erscheinen. So wie Access seine eigenen Meldungen anzeigt, erscheint ein Ergebnis, das nichts von Ihnen verlangt, zehn Sekunden lang in der Statusleiste von Access (zum Beispiel „Synchronisieren: keine Änderungen“) und bleibt auf der Registerkarte „Ausgabe“ erhalten, ohne dass sich ein Fenster öffnet. Was Sie betrifft – eine Ablehnung, ein Fehlschlag, Fehler –, öffnet den Arbeitsbereich auf der Registerkarte „Probleme“ (wenn es Fehler gibt) oder „Ausgabe“.

Der Arbeitsbereich ist ein Aufgabenbereich von Access, standardmäßig unten angedockt (wie das Panel für Ausgabe, Probleme und Terminal in Visual Studio Code), mit den Registerkarten „Projekt“, „Ausgabe“, „Probleme“, „Änderungen“ und „Terminal“; er lässt sich an jede Seite ziehen, und die gewählte Position bleibt erhalten. Jede Registerkarte trägt ihre Befehle in einer Leiste am oberen Rand, als Symbole mit QuickInfo (Sprachausgaben lesen jeweils den Namen vor); ist der Arbeitsbereich schmaler als die Leiste, wandern die Befehle, die nicht hineinpassen, in die Überlaufschaltfläche (») an ihrem rechten Ende. Menüband und Arbeitsbereich verwenden die Symbole von Visual Studio Code (Codicons, Hinweise zu Drittanbieterkomponenten) und die Farben seines Panels: hell oder dunkel nach dem Office-Design (Datei › Konto › Office-Design), im Modus mit hohem Kontrast die Systemfarben. Das Design wird beim Start von Access gelesen: Starten Sie Access nach einer Änderung neu.

  • Projekt enthält in seiner Leiste die Befehle „Änderungen“, „Status“, „Synchronisieren“, „Änderungen exportieren“, „Änderungen importieren“, „Alles exportieren“, „Erstellen und neu öffnen“, „Neu erstellen und neu öffnen“, „Validieren“, „Code prüfen“, „Abbrechen“, „Zurückziehen“ und „Terminal“ (dieselben Befehle wie im Menüband, in denselben Gruppen), darunter die Projektdatei und die in Access geöffnete Datenbank, die gewählte Konfiguration sowie die Vorgänge (siehe unten); dieser Teil ist scrollbar, wenn der Arbeitsbereich niedrig ist. Wird eine andere Datenbank geöffnet, folgt die Registerkarte innerhalb von zwei Sekunden.
  • Ausgabe sammelt die Meldungen der Befehle, jede unter einer Zeile mit ihrer Uhrzeit, auch die, die entstanden, während der Arbeitsbereich ausgeblendet war; sie lässt sich filtern (nur Zeilen, die einen Text enthalten), kopieren und speichern. Nur ein Access, das dem Add-In keinen Aufgabenbereich zur Verfügung stellt, zeigt die Meldungen in einem eigenen Fenster an (mit „Kopieren“ und „Speichern…“; Esc schließt es).
  • Probleme listet die Fehler und Warnungen des letzten Befehls auf, der welche gemeldet hat, mit Schweregrad, Phase, Objekt, Zeile im Code, Datei und Ursache; der Titel der Registerkarte trägt ihre Anzahl. Die Eingabetaste oder ein Doppelklick öffnet die Fundstelle: einen Befund im VBA-Code im Codefenster an seiner Zeile, ein Formular, einen Bericht oder eine Abfrage in der Entwurfsansicht, ein Modul im Codefenster, eine Quelldatei in Visual Studio Code an ihrer Zeile, wenn code im PATH liegt, sonst mit dem Programm, das Windows ihr zuordnet; dasselbe bewirkt Öffnen in der Leiste, Clear leert die Liste. Der nächste Befehl ersetzt die Liste.
  • Änderungen ist die oben beschriebene Änderungsübersicht, im Arbeitsbereich statt in einem eigenen Fenster; die Schaltfläche „Änderungen“ im Menüband wählt diese Registerkarte aus, solange der Arbeitsbereich angezeigt wird.
  • Terminal startet eine Shell im Ordner des Projekts, wenn die Registerkarte zum ersten Mal angezeigt wird, und leitet die Tastatureingabe dorthin; die anderen Registerkarten funktionieren ohne sie. Ihre Leiste enthält Neue Shell (beendet eine laufende Shell und startet eine weitere), Shell beenden und den Ordner, in dem die Shell arbeitet. Eine Shell behält ihren Ordner, wenn eine andere Datenbank geöffnet wird. Die Schaltfläche „Terminal“ im Menüband wählt die Registerkarte aus, solange der Arbeitsbereich angezeigt wird, sonst öffnet sie ein Terminalfenster.

Vorgänge. „Status“, „Synchronisieren“, die Exporte und Importe, die Builds und „Validieren“ sind Vorgänge: Sie laufen nacheinander in der Reihenfolge der Anforderung neben Access, das während eines Vorgangs bedienbar bleibt. Die Registerkarte „Projekt“ zeigt den laufenden Vorgang (Titel, Projekt, Konfiguration und Beginn) und listet die wartenden auf; Zurückziehen entfernt den ausgewählten wartenden Vorgang, bevor er beginnt. Abbrechen (Registerkarte „Projekt“ oder Menüband) hält den laufenden Vorgang zwischen zwei Schritten an: Eine Synchronisierung behält, was sie abgeschlossen hat, ein Export meldet den Abbruch, ohne etwas zu löschen, ein Build behält die vorherige Datenbank, und das verborgene Access des Vorgangs wird beendet, nie das des Entwicklers.

Jeder Vorgang behält das Projekt, die Konfiguration und die Datenbank, für die er angefordert wurde. Ein Vorgang, der Quellen in die in Access geöffnete Datenbank lädt („Änderungen importieren“, „Synchronisieren“) und bei seinem Start eine andere Datenbank geöffnet vorfindet, wird nicht ausgeführt; die Ausgabe meldet das. Solange ein anderes Programm am selben Projekt arbeitet (wkl-office in einem Terminal, ein dotnet build, ein zweites Access), wartet der Vorgang, und die Registerkarte „Projekt“ nennt den Inhaber; die Befehlszeile lehnt in derselben Lage mit Exitcode 10 ab (Das Projekt ist belegt).

Ob der Arbeitsbereich angezeigt wird, seine Breite und Höhe, wo er angedockt ist und welche Registerkarte ausgewählt ist, wird je Windows-Benutzer unter HKEY_CURRENT_USER\Software\The White Knight Labs\Access Framework\Sdk\Workspace gespeichert, außerhalb jedes Projekts; beim nächsten Start von Access erscheint der Arbeitsbereich so, wie er verlassen wurde. Das Add-In liest diese Werte einmal je Access-Sitzung, wenn der Arbeitsbereich zum ersten Mal angezeigt wird; ein Wert, der während der Laufzeit von Access in der Registrierung geändert wird, wirkt erst beim nächsten Start von Access. Innerhalb einer Sitzung ist der Arbeitsbereich selbst die Anordnung: Ziehen Sie ihn oder ändern Sie seine Größe, und genau das bleibt erhalten.

Von selbst erscheint der Arbeitsbereich nur dort, wo er hingehört: in einem vollständigen Access mit der ACCDB eines SDK-Projekts (die Projektdatei liegt neben ihr oder bis zu drei Ordner darüber) oder ohne geöffnete Datenbank, und nur, wenn Sie ihn offen gelassen haben. Bei jeder anderen Datenbank – einer fertigen Anwendung wie dem Bootstrapper Manager, einer fremden ACCDB, einer ACCDE – bleibt er verborgen, bis Sie ihn selbst mit Arbeitsbereich öffnen; kehrt Access zu einem Projekt zurück, ist er wieder da. Dieses Ausblenden ändert die gespeicherte Einstellung nicht, und ein Arbeitsbereich, den Sie geschlossen haben, bleibt geschlossen, auch im nächsten Projekt. Ohne geöffnete Datenbank verdeckt die Backstage-Ansicht von Access alle Aufgabenbereiche; mit der nächsten Datenbank erscheint der Arbeitsbereich wieder.

Die Designer sind die Designer der WKL Forms Object Library, dieselben, die das frühere Add-In WklExtensions.accda öffnete: Die Schaltflächen sind aktiv, wenn die WKL Forms Object Library für den aktuellen Benutzer in der Bitbreite von Office registriert ist; andernfalls sagt das ihre QuickInfo. Jeder Designer arbeitet mit der in Access geöffneten Datenbank und ist modal.

Das Terminal führt PowerShell 7 aus, wenn es installiert ist, sonst Windows PowerShell, und zwar im Ordner des Projekts. Es beherrscht Farben, Cursortasten, den alternativen Bildschirm von Vollbildprogrammen, Kopieren (mit der Maus markieren, Strg+C bei vorhandener Markierung oder Rechtsklick bei vorhandener Markierung) und Einfügen (Strg+V, Umschalt+Einfg oder Rechtsklick ohne Markierung). Das Schließen des Fensters beendet die Shell und die von ihr gestarteten Programme; ebenso das Schließen von Access.

So entfernen Sie das Add-In:

wkl-office addin remove

Jeder Befehl ist über die Tastatur erreichbar: Die Registerkarte im Menüband hat die festen Zugriffstasten Alt, W K und einen Buchstaben je Befehl; im Arbeitsbereich erreicht F6 ihn aus Access heraus, Strg+Tab wechselt seine Registerkarten, und Tab springt in die Leiste einer Registerkarte (Tastenkombinationen).

Hinweise

  • Das Add-In wird nur für den aktuellen Benutzer registriert; ein Administrator ist nicht erforderlich. Ein Build registriert es nie.
  • Installieren und Entfernen wirken beim nächsten Start von Access.
  • Das Add-In bleibt aus ausgelieferten Anwendungen heraus, damit deren Benutzer nie ein Entwicklerwerkzeug zu sehen bekommen: Seine Registerkarte WKL SDK wird nur in einem vollständigen Access angezeigt und funktioniert nur dort, und zwar mit geöffneter ACCDB oder ohne geöffnete Datenbank (um ein zuletzt verwendetes Projekt zu öffnen). Im Runtime-Modus (/runtime oder die Access Runtime, die COM-Add-Ins ebenfalls lädt) und bei einer ACCDE, ACCDR, MDE, MDB oder ADP ist sie ausgeblendet; wird in einem vollständigen Access eine ACCDB geöffnet, erscheint sie innerhalb von zwei Sekunden wieder. In einem per Automatisierung gestarteten Access ist das Add-In inaktiv; sein Fenster im VBA-Editor zeigt dann kein Projekt.
  • Das Terminal benötigt wkl-office.exe: aus der Umgebungsvariablen WKL_OFFICE_CLI, aus dem Ordner bin des SDK oder aus dem PATH. Access erlaubt keine Pseudokonsole im eigenen Prozess; das Terminal führt die Shell deshalb über wkl-office terminal-host in einem eigenen Prozess aus.
  • Sprachausgaben lesen den Bildschirm des Terminals als Wert des Fensters (MSAA); jedes andere Element des Arbeitsbereichs hat einen Namen und eine Rolle (UI Automation).
  • Wird Access auf einen anderen Bildschirm verschoben, bleibt der Arbeitsbereich bedienbar; auf einem schmalen Bildschirm (1080 Pixel) bleiben alle Befehle einer Leiste sichtbar. Unterstützte Anzeigeskalierung: 100 %.
  • Die Befehle lehnen ab, solange Access einen Dialog anzeigt oder etwas nicht gespeichert ist, genau wie auf der Befehlszeile.

Verwandte Themen

de/wiki/msaccess/sdk/how-to/use-the-access-add-in.txt · Zuletzt geändert: von Wolfgang van der Stille