Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 1/2000.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Offline-Banking mit Access

Autor: Manfred Hoffbauer, Düsseldorf

Die routinemäßigen Bankgeschäfte bequem und preiswert von zu Hause aus zu führen, erfreut sich immer größerer Beliebtheit. Kein Wunder also, dass praktisch jedes nennenswerte Bankunternehmen seinen Kunden einen zuverlässigen Online-Zugang für das Homebanking zur Verfügung stellt. Ein weit verbreitetes und sehr leistungsfähiges Programm für das Homebanking ist Quicken. Mit ihm ist auch der unbedarfte Anwender in der Lage, seine Bankgeschäfte per PC zu führen. Quicken, das sich seit einiger Zeit in den Händen der Haufe-Tochter Lexware befindet, hat allerdings für Access-Anwender eine entscheidende Schwachstelle: Es bietet keine Schnittstelle zu Access.

Abhilfe schafft das in diesem Beitrag beschriebene Tool. Wenn Sie über dieses VBA-Programm verfügen, benötigen Sie zum Import Ihrer Quicken-Daten in Access nur noch zwei Schritte:

  • Starten Sie Quicken und exportieren Sie die Daten in eine QIF-Datei (Quicken Interchange Format).
  • Starten Sie Access und importieren Sie die Daten aus diesem Beitrag mittels des Programms.
  • Der folgende Beitrag beschreibt die Schritte, die Sie mit Quicken ausführen müssen, ebenso wie die Funktionsweise des Access-Programms.

    Daten mit Quicken exportieren

    Quicken verwendet zum Datenaustausch das so genannte Quicken Interchange Format (kurz: QIF). Es handelt sich hierbei um ein nicht standardisiertes Datenformat, das Sie sich zwar mit einem Texteditor ansehen, aber in kaum ein anderes Programm importieren können. Um Daten mit Quicken zu exportieren, gehen Sie wie folgt vor:

  • Starten Sie Quicken.
  • Wählen Sie den Menübefehl Datei ( Datei-Operationen ( QIF-Datei-Export.
  • Bestimmen Sie das Laufwerk, den Pfad und den Dateinamen für die Exportdatei.
  • Wählen Sie das zu exportierende Konto aus.
  • Geben Sie den Datumsbereich ein.
  • Kreuzen Sie die Optionen Konten, Kontenliste, Kategorienliste und Gemerkte Buchungen an.
  • Klicken Sie auf die Schaltfläche OK.
  • Abb. 1: Exportoptionen von Quicken

    Hinweis

    Die Abbildungen in diesem Beitrag wurden mit Quicken 6 angefertigt. Einige Details in den Abbildungen können von anderen Programmversionen abweichen. (

    Das Programm Quicken exportiert die Daten des ausgewählten Kontos und der angekreuzten Referenzdateien in eine Textdatei mit der Erweiterung QIF. Es handelt sich um eine Textdatei, die Sie auch mit dem Windows-Editor öffnen können.

    Abb. 2: QIF-Datei im Windows-Editor

    QIF-Datei mit Access einlesen

    Access verfügt leider über keinen Importfilter für QIF-Dateien. Aufgrund des ungewöhnlichen Formats der QIF-Dateien eignet sich auch kein anderer Importfilter. Deshalb wird ein VBA-Programm für den Import benötigt. Die erste Aufgabe für das Programm besteht darin, die Textdatei in eine Access-Tabelle einzulesen. Dies erfolgt bei Access üblicherweise durch das Öffnen der Textdatei per Open-Anweisung:

    Open "c:\Quicken\SSK.TXT" For Binary As #1

    Diese Anweisung öffnet die Textdatei zum binären Lesen. Dazu folgender Hintergrund: Wenn Sie eine QIF-Datei mit Open...For Input öffnen, können Sie die Datei nur per Input-Anweisung zeilenweise lesen. Diese Anweisung liest eine Textzeile bis zum Auftreten eines Absatzendezeichens, wozu leider auch das Komma zählt. Beim zeilenweisen Lesen mit Input liest Access die Zeile T-63,36 in zwei Zeilen ein. Die erste Zeile besteht aus T-63 und die zweite aus 36.

    Da Access keine Optionen anbietet, um die Interpretationsschwierigkeiten beim Lesen von QIF-Dateien zu umgehen, ist das binäre Öffnen der Textdatei und die Programmierung einer eigenen Routine zum Einlesen einer Zeile erforderlich:

    Quellcode 1

    Das Lesen aus der mit Open ... Binary geöffneten Textdatei erfolgt über die Get-Anweisung. Diese liest in Abhängigkeit vom Datentyp der angegebenen Variablen eines oder mehrere Zeichen. Mit der Definition der Variablen Zeichen als Zeichenkette mit der festen Länge 1 (Dim Zeichen As String * 1) ist die Anzahl der eingelesenen Zeichen auf 1 fixiert.

    Das zeichenweise Lesen erfolgt in einer kopfgesteuerten Schleife, die erst beim Auftreten des Dateiendes oder eines so genannten Line-Feed-Zeichens beendet wird. Die mit Quicken generierten Textdateien orientieren sich zumindest in dieser Beziehung an einem Standard. Jede Zeile endet mit einem unsichtbaren Carriage-Return- und einem Line-Feed-Zeichen. Das Carriage-Return-Zeichen hat den ASCII-Code 13 und das Line-Feed-Zeichen den ASCII-Code 10. Beide zusammen werden von Quicken, dem Windows-Editor und praktisch jedem anderen Programm als Absatzende interpretiert.

    Im Rumpf der While-Schleife befindet sich lediglich eine If-Abfrage, mit der das Carriage-Return-Zeichen überlesen wird. Alle anderen Zeichen werden dem Rückgabewert der Funktion, also der gelesenen Zeile, hinzugefügt. Falls gerade die gleiche Zeile wie in obigem Beispiel verarbeitet wird, gibt der Funktionsaufruf ZeileLesen die Zeichenfolge T-63,36 als Funktionswert zurück. Das Komma wird nun als Dezimal- und nicht mehr als Feldtrennzeichen behandelt.

    Laufwerk, Pfad und Dateiname der QIF-Datei

    Für die Durchführung des Importvorgangs muss der Anwender eine Möglichkeit haben, das Laufwerk, den Pfad und den Dateinamen der QIF-Datei einzugeben. In der Beispieldatenbank erfolgt die Eingabe über das Formular frmStart (Abb. 3). Es enthält das Kombinationsfeld txtDateiname, in das der Dateiname eingegeben oder aus einer Liste übernommen werden kann.

    Abb. 3: Eingabe von Laufwerk, Pfad und Dateiname der Importdatei

    Das Formular ist bewusst ziemlich einfach gehalten. Um beispielsweise die Vorschlagsliste für QIF-Dateien zu ändern, müssen Sie in die Entwurfsansicht des Formulars wechseln. Öffnen Sie das Eigenschaftenfenster des Steuerelements txtDateiname, und ergänzen Sie weitere Pfade in der Eigenschaft Datensatzherkunft.

    Die Schaltfläche Schließen des Formulars wurde mit dem Befehlsschaltflächen-Assistent von Access erstellt. Bei einem Klick auf die Schaltfläche Starte Import wird folgende Anweisung ausgeführt:

    QuickenImportieren (Me!txtDateiname)

    Diese Anweisung ruft die Prozedur QuickenImportieren des Moduls modQuicken aus der Beispieldatenbank auf. Durch die Angabe des Parameters Me!txtDateiname wird der Prozedur der Inhalt des Feldes txtDateiname übergeben. Damit kann zu Beginn der Prozedur überprüft werden, ob die eingegebene Datei überhaupt existiert. Falls nicht, macht eine entsprechende Meldung darauf aufmerksam. Wenn die Textdatei gefunden wird, startet die Prozedur als erstes die Prozedur QIFLesen, welche die QIF-Datei in eine Access-Tabelle einliest.

    Quellcode 2

    Einlesen der QIF-Datei

    Die Prozedur QIFLesen enthält in der Zeichenkettenvariablen sDateiname den vollständigen Pfad und den Dateinamen der QIF-Datei. Das zentrale Element der Prozedur ist eine Schleife, die die Textdatei zeilenweise liest, die Daten verarbeitet und das Ergebnis in der Tabelle tblDaten speichert.

    Innerhalb der Schleife wird das Format der QIF-Datei genau analysiert. Die erste If-Anweisung prüft, ob die gelesene Zeile mit einem Ausrufungszeichen beginnt. Der Text !Type:Class startet in der QIF-Datei beispielsweise den Beginn eines Abschnitts mit einer Auflistung aller Klassen. Die Liste stimmt mit der Ansicht überein, die Sie in Quicken mit dem Befehl Listen ( Klassen öffnen können. Folgende Tabelle (Tab. 1) enthält eine Übersicht der Abschnittsmarkierungen in der QIF-Datei.

    Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

    Sind Sie Abonnent?Jetzt einloggen ...
     

    Kompletten Artikel lesen?

    Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

    E-Mail:

    Verwandte Beiträge:

    Lastschrifteinzug per Datenträgeraustausch

    © 2003-2015 André Minhorst Alle Rechte vorbehalten.