Autor: Christoph Spielmann, Düsseldorf und Klaus Giesen, Wuppertal
Es ist eine Binsenweisheit, dass große Entscheidungen einen Rattenschwanz von Konsequenzen auch im Kleinen nach sich ziehen können. Bezogen auf die Einführung des Euro und Microsoft Access bedeutet das beispielsweise, dass mit Sicherheit eine Unmenge von Währungsfeldern in Access-Tabellen auf die neue Währung umgestellt werden müssen. Schließlich muss in vielen Datenbankanwendungen mit diesen Feldern genau gerechnet werden. Im folgenden Beitrag lernen Sie einen Assistenten kennen, der Ihnen bei der Währungsumstellung Ihrer Access-Datenbanken behilflich ist.
Der Begriff “Währungsumstellung” bedeutet in diesem Zusammenhang zunächst einmal eine mathematische Umrechnung der DM-Werte mit einem konstanten und obendrein hinlänglich bekannten Quotienten (1,95583).
Etwas genauer betrachtet, bedeutet die Umstellung allerdings noch eine ganze Menge mehr:
Bei einer Währungsumstellung in Datenbanktabellen muss in der Regel sichergestellt sein, dass alle Währungsfelder in einer Datenbank auch korrekt umgerechnet werden. Anderenfalls wird beispielsweise bei einer Fakturierung ganz schnell das große Chaos ausbrechen.
Wie ist eine solche Aufgabe am besten zu erledigen
Die richtige Antwort hängt – wie so oft im Leben – von den vorliegenden Umständen ab.
Bei nur einer oder zwei Tabellen ist ohne weiteres der Einsatz einer kleinen Aktualisierungsabfrage zu empfehlen, um die entsprechenden Felder umrechnen zu lassen. Anders ausgedrückt: Das kann manuell erledigt werden.
Ab einer bestimmten Größenordnung wird jedoch das Aufspüren und Umrechnen der entsprechenden Tabellenfelder mühsam bis unmöglich. Ganz abgesehen davon, besteht dann – wie bei jeder manuellen Methode – die Gefahr, etwas zu übersehen oder zu vergessen. Das kann gerade bei Währungsfeldern unangenehme Konsequenzen haben.
An dieser Stelle bietet sich der Einsatz eines Tools an, mit dem das Aufspüren und Umrechnen der infrage kommenden Tabellenfelder in jedem Fall sichergestellt werden kann. Obendrein sollte ein solches Tool auch einfach zu bedienen sein.
Installation bedeutet in diesem Fall lediglich:
Datenbankobjekte importieren
Der Euro-Assistent besteht aus der Tabelle tblEuroFields und den Formularen frmEuroAssistent und frmEuroAssistentSub. Als Arbeitsdatenbank wird bei diesem Beitrag die zusammen mit Access ausgelieferte Beispieldatenbank Nordwind benutzt.
Bild 1: Das Dialogfenster Objekte importieren
Bild 2: Das Dialogfenster Verweise
Hinweis
Die beim Klick auf die Schaltfläche Optionen sichtbaren Einstellungsmöglichkeiten beim Import von Tabellen (Nur Definition oder Definition und Daten) haben bei diesem Import keine Bedeutung.
Verweise einstellen
Der VBA-Code des Euro-Assistenten benötigt zur Lauffähigkeit den Zugriff auf ganz bestimmte Programmbibliotheken. Die Einstellung erfolgtim Visual Basic-Fenster von Access.
Hinweis
Falls kein Modul in Ihrer Datenbank vorhanden sein sollte, klicken Sie stattdessen auf die Schaltfläche Neu.
Bild 3: Markierte Verweise
Bild 4: Der Menübefehl Kompilieren
Bild 5: Die Tabellenentwurf
Hinweis
Sie können – falls vorhanden – auch die Versionen 2.1, 2.6 oder 2.7 dieser beiden Programmbibliotheken verwenden.
Abschließend sollte die Datenbank kompiliert werden, um etwaige Fehlerquellen zu erkennen bzw. auszuschließen (siehe Bild 4).
Jetzt sollte der Euro-Assistent problemlos funktionieren. Außerdem können Sie nun einen Blick auf seine Bestandteile werfen und ihn anschließend ausprobieren.
Wie schon oben erwähnt besteht der Euro-Assistent aus der Tabelle tblEuroFields und den Formularen frmEuroAssistent und frmEuroAssistentSub.
Die Tabelle tblEuroFields
In der Tabelle tblEuroFields werden die Informationen über die numerischen Felder Ihrer Datenbank gespeichert (siehe Bild 5).
Die Tabelle besteht lediglich aus vier Spalten, ist also keinesfalls kompliziert zu nennen.
Neben dem Primärschlüsselfeld gibt es je ein Feld, in dem später Tabellen- und Feldnamen gespeichert werden.
Bild 6: Das Formular in der Entwurfsansicht
Bild 7: Das Unterformular als Datenblatt
Ein Ja/Nein-Feld wird durch ein Kontrollkästchen mit dem entsprechenden Wert versehen.
Eine Besonderheit ist beim Primärschlüsselfeld zu finden. Hier ist beim Felddatentyp AutoWert die Feldgröße ReplikationsID eingestellt. Eine andere und gebräuchlichere Bezeichnung dafür ist GUID, was für Globally Unique Identifier steht. Dies ist eine 16 Byte große Zahl, die weltweit einmalig sein soll.
Auf die Funktionalität des Euro-Assistenten hat die Einstellung der Feldgröße auf Long Integer oder ReplikationsID allerdings keinen Einfluss.
Das FormularfrmEuroAssistent
Auch das Formular frmEuroAssistent ist sehr einfach aufgebaut (siehe Bild 6).
Hauptbestandteil des Formulars ist das Unterformular-Steuerelement, in dem das Unterformular frmEuroAssistent Sub angezeigt wird. Es besteht keine Verknüpfung.
Daneben sind noch ein Feld zur Anzeige von Statusmeldungen, ein Bezeichnungsfeld zur Information und eine einzelne Schaltfläche vorhanden.
Das Unterformular frmEuroAssistentSub
Das Unterformular frmEuroFieldsSub ist an die Tabelle tblEuroFields (siehe Bild 7) gebunden. Seine einzige Funktionalität ist die Anzeige der Tabelle tblEuroFields im Formular frmEuroFields.
Die Datenherkunft des Unterformulars ist auf die SQL-Anweisung
SELECT * FROM tblEuroFields ORDER BY TableName, FieldName;
eingestellt. Die Tabellenfelder werden – wie schon die Bild 7 zeigt – aufsteigend nach Tabellennamen und innerhalb der Tabellen nach Feldnamen sortiert.
Die Standardansicht für das Unterformular ist Datenblatt.
Bild 8: Das Klassenmodul im Visual Basic Editor
Bild 9: Der Euro-Assistent
Das Klassenmodul Form_frmEuroAssistent
Das Klassenmodul Form_frmEuroAssistent enthält die gesamte Programmlogik.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
den kompletten Artikel im PDF-Format mit Beispieldatenbank
diesen und alle anderen Artikel mit dem Jahresabo