Der Euro-Assistent

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:

  • Sie müssen eine Tabelle und zwei Formulare in Ihre Arbeitsdatenbank importieren.
  • Weiterhin müssen die Verweise zu den erforderlichen Programmbibliotheken für den Euro-Assistenten eingerichtet werden.
  • 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

  • Wählen Sie in Ihrer Arbeitsdatenbank aus dem Menü Datei den Befehl Externe Daten ( Importieren aus.
  • Markieren Sie im Dialogfenster Importieren die Beispieldatenbank Euro-Assistent.mdb zu diesem Beitrag, die den Euro-Assistenten enthält und klicken Sie anschließend auf die Schaltfläche Importieren.
  • Aktivieren Sie im Dialogfenster Objekte importieren das Register Tabellen und markieren Sie die Tabelle tblEuroFields (siehe Bild 1).
  • 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.

  • Aktivieren Sie dann das Register Formulare und markieren Sie dort die beiden Formulare frmEuroAssistent und frmEuroAssistentSub.
  • Starten Sie den Import mit OK.
  • 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.

  • Klicken Sie im Modulbereich des Datenbankfensters von Access auf die Schaltfläche Entwurf.
  • Hinweis

    Falls kein Modul in Ihrer Datenbank vorhanden sein sollte, klicken Sie stattdessen auf die Schaltfläche Neu.

  • Wählen Sie aus dem Me-nü Extras den Befehl Verweise. Es wird das Dialogfenster Ver-weise, in dem alle verfügbaren Verweise angezeigt werden, geöffnet. Bestehende Verweise sind durch das aktivierte Kontrollkästchen gekennzeichnet.
  • überprüfen Sie, ob – wie in Bild 2 – ein Verweis auf die Programmbibliotheken Microsoft ActiveX Data Objects 2.5 Library und Microsoft ADO Ext. 2.5 for DDL and Security besteht.
  • 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.

  • Falls beide Verweise existieren, klicken Sie auf OK oder Abbrechen.
  • Anderenfalls scrollen Sie in dem Fenster nach unten und markieren den entsprechenden Eintrag bzw. die entsprechenden Einträge. Dies kann gleichzeitig erfolgen (siehe Bild 3).
  • Schließen Sie das Dialogfenster mit OK.
  • Abschließend sollte die Datenbank kompiliert werden, um etwaige Fehlerquellen zu erkennen bzw. auszuschließen (siehe Bild 4).

  • Wählen Sie aus dem Menü Debuggen den Befehl Kompilieren aus.
  • Schließen Sie den Visual Basic Editor mit dem Menübefehl Datei/Schließen und kehren Sie zurück zu Microsoft Access.
  • 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

    Schreibe einen Kommentar