Access-Quellcode verwalten

Letzte Änderung am 13. November 2023 by Christoph Jüngling

Standards wie “Rational ClearCase”, “CVS” oder “Team Foundation Services” sind ebenso wie das alte “Visual SourceSafe” von Microsoft grundsätzlich nur in der Lage, mit Dateien zu arbeiten. Das ist bei MS Access aufgrund des binären Dateiformats schwierig handhabbar. Es  gibt jedoch mindestens drei Add-Ins (OASIS, Ivercy und MS-Access-VCS-Integration, siehe dazu auch Weltmarktübersicht), die es ermöglichen, dass Access-Objekte dann doch wieder auf Objektebene verwaltet werden können.

Allgemeines

Ziel einer Quellcodeverwaltung ist es, wie der Name schon sagt, den Quellcode eines Projektes zu verwalten, und zwar so granular wie möglich. Das ist zum Beispiel bei einem Visual-Basic- oder Visual-C++-Projekt kein Problem, da diese Entwicklungsumgebungen alle ihre Objekte als einzelne Dateien im Dateisystem ablegen. Diese Dateien können folglich auch einzeln in die Quellcodeverwaltung übernommen (“eingecheckt” oder “committet”) werden. Die Hauptvorteile aus einer funktionierenden Quellcodeverwaltung sind:

  • es kann im Team an dem Projekt gearbeitet werden
  • es können alte Entwicklungsstände abgerufen werden

Ersteres erlaubt die gleichzeitige Arbeit von mehreren Entwicklern (manchmal sogar an demselben Objekt).

Durch letzteres können alte Versionen gepflegt und z.B. Bugfixes erstellt werden, ohne den aktuellen Entwicklungszweig für eine neuere Version zu gefährden.

Access im Speziellen

Dies ist bei einer Access-Datenbank leider nicht so einfach, denn dessen Datenbank-Datei ist ein sogenanntes Containerformat. In einer Access-MDB oder -ACCDB befinden sich Tabellen, Abfragen, Formulare, Module und andere Objekte. Öffnet man die Datei mit Access, sieht man diese Objekte und kann darauf einzeln zugreifen (z.B. ein Formular öffnen):

Access-2010-Datenbankfenster

Aus der Sicht von Windows handelt es sich jedoch nur um eine einzelne Datei mit der Erweiterung “accdb” (früher “mdb”):

Access-Datenbank im Explorer

Mit einer Quellcodeverwaltung, die nur mit Dateien arbeiten kann, kann also nur die gesamte Datenbank verwaltet werden. Dies ist für den Punkt “Teamarbeit” ein K.O.-Kriterium, denn eine Wiederzusammenführung (“merge”) von zwei verschiedenen Access-Datenbanken ist wegen des seltsamen und im übrigen undokumentierten Dateiformats nicht mit herkömmlichen Mitteln wie z.B. WinMerge möglich.

Problemlösung

Eine Lösung für dieses Problem bieten die eingangs erwähnten Add-Ins. Diese exportieren die Access-Objekte in einzelne Dateien, die dann von dem VCS in seiner normalen Weise weiterverarbeitet werden können, wie z.B. in diesem Artikel beschrieben.

Updates

UPDATE: Screenshots aktualisiert mit Access 2010, denn das Thema ist nach wie vor auch für die aktuellen Access-Versionen relevant.

UPDATE 2019: Artikel mit mehreren Add-Ins verlinkt. Die weiteren Aktualisierungen der Screenshots spare ich mir. Access sieht mit jeder Version ein klein wenig anders aus. Das Grundlegende dieses Artikels ist jedoch auch jetzt, mehr als 10 Jahre nach der Erstveröffentlichung, weiterhin gültig.

UPDATE 2020: Einige Details ergänzt.

UPDATE 2023: Drittes Addin ergänzt.

Ähnliche Artikel:

Schreibe einen Kommentar

Deine Email-Adresse wird nicht veröffentlicht.

5 − zwei =