Tutorial: Access-Anwendung unter Versionsverwaltung stellen
Sie überführen eine bestehende Access-Datenbank in Quellen in einem git-Repository, bauen die Datenbank daraus und lernen den täglichen Ablauf kennen: in Access ändern, mit einem Befehl committen.
Voraussetzungen
- Windows 11 mit dem vollständigen Microsoft Access, installiert für Ihren Benutzer (Voraussetzungen).
- Die .NET 10 Runtime.
wkl-officeim PATH (Installation).- git im PATH. Dieses Tutorial verwendet git; zu Subversion siehe In Access Geändertes committen.
- Eine Datenbank als Ausgangspunkt; dieses Tutorial verwendet
C:\Data\Kunden.accdb. Sie wird nur gelesen.
Schritte
1. Projekt anlegen
wkl-office new C:\Work\Kunden cd C:\Work\Kunden git init
new schreibt Kunden.acproj, einen leeren Ordner source/, eine .gitignore für build/ und obj/ sowie die
Tasks von Visual Studio Code. Der Name des Ordners wird zum Namen der Anwendung; er muss ein gültiger VBA-Bezeichner
sein.
2. Datenbank in die Quellen exportieren
wkl-office export Kunden.acproj -d C:\Data\Kunden.accdb
Der Export arbeitet mit einer Kopie in einem verborgenen Access und schreibt jede Abfrage, jedes Modul, jede Klasse,
jedes Formular, jeden Bericht, jedes Makro und jedes Tabellenschema, die Verweise, die Datenbankeigenschaften, das
Design und die Bilder unterhalb von source/. Er listet jede geschriebene Datei auf. Verknüpfte Tabellen werden weder
exportiert noch als Warnung gemeldet: Verknüpft die Datenbank Tabellen, führen Sie die Verknüpfungen im Linked Tables Manager
der WKL Forms Object Library (siehe Quellstruktur).
3. Daten von Nachschlagetabellen erhalten
Tabellen werden leer gebaut, sofern ihre Richtlinie nichts anderes festlegt. Nennen Sie die Tabellen, deren Daten zur
Anwendung gehören (Nachschlagewerte, Konfiguration), in Kunden.acproj:
<ItemGroup> <TablePolicy Include="tblLaender" Policy="SeedData" /> </ItemGroup>
Exportieren Sie erneut: source/data/tblLaender.jsonl enthält dann ihre Datensätze.
In Access erledigt Neues Projekt aus dieser Datenbank… im Projektmenü des Add-Ins die Schritte 1 bis 3 in einem Dialog (Access-Add-In verwenden).
4. Prüfen und bauen
wkl-office check Kunden.acproj wkl-office build Kunden.acproj
check findet ungültige Quellen, fehlende Verweise, einen fehlenden ODBC-Treiber oder ein in eine Abfrage
geschriebenes Kennwort, bevor Access startet. build erzeugt build/Debug/Kunden.accdb allein aus den Quellen.
5. Vollständigkeit der Quellen nachweisen
wkl-office roundtrip Kunden.acproj
Die Rundlaufprüfung baut eine Kopie, exportiert sie und vergleicht das Ergebnis mit den Quellen. Exitcode 0 bedeutet:
Werden diese Quellen gebaut und wird das Ergebnis wieder exportiert, entstehen dieselben Quellen (Textdateien mit
vereinheitlichten Zeilenenden verglichen, andere Dateien Byte für Byte), und zwar auf diesem Rechner. Das zeigt, dass
die Quellen stabil sind und der Build alles übernimmt, was sie beschreiben. Es zeigt nicht, dass die Quellen alles
enthalten, was die ursprüngliche Datenbank hatte – was der Export nicht schreibt, kann sich auch nicht unterscheiden
(siehe Was der Export nicht erhält) –, und auch nicht, dass
sich die Anwendung gleich verhält; dafür testen Sie die gebaute Datenbank. Lesen Sie die Warnungen des Exports: Eine
Eigenschaft, die er nicht erhalten konnte, wird dort gemeldet, nicht von der Rundlaufprüfung. Der erste Lauf nach dem
Export aus der alten Datenbank kann Formulare und Module melden, die Access einmalig auf seine eigene Weise schreibt;
führen Sie wkl-office export Kunden.acproj auf der gebauten Datenbank aus, dann ist die nächste Rundlaufprüfung ohne
Befund.
6. Committen
wkl-office commit Kunden.acproj -m "Kunden: Quellen aus der Datenbank"
commit exportiert die gebaute Datenbank noch einmal, fügt die Projektdatei, die .gitignore und source/ zu git
hinzu und committet. Gepusht wird nicht.
7. Den täglichen Ablauf durchlaufen
- Öffnen Sie
build\Debug\Kunden.accdbin Access und ändern Sie ein Formular, eine Abfrage oder Code. Speichern Sie. - Führen Sie
wkl-office status Kunden.acprojaus, um zu sehen, was sich geändert hat. - Führen Sie
wkl-office commit Kunden.acproj -m "<was sich geändert hat>"aus. Der Export übernimmt die Datenbank aus dem geöffneten Access; solange dort etwas nicht gespeichert ist, verweigert er die Arbeit und nennt es.
Kommen die Änderungen eines Kollegen mit git pull an, laden Sie sie mit wkl-office import Kunden.acproj --changed
in die in Access geöffnete Datenbank, oder Sie schließen die Datenbank und führen wkl-office build Kunden.acproj aus.
Erwartetes Ergebnis
Ein Repository mit Kunden.acproj und source/, aus dem wkl-office build auf jedem Rechner mit Access eine
funktionierende Kunden.accdb erzeugt, und ein täglicher Ablauf, in dem jede in Access vorgenommene Änderung als
lesbarer Text in das Repository gelangt.
Nächste Schritte
- Befehlszeilenreferenz – Release-Builds mit ACCDE, Änderungsverfolgung, JSON-Ausgabe für CI
- Referenz der Projektdatei – Konfigurationen, Vorlagen, die Abschlussfunktion