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/2012.

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

Zusammenfassung

Erstellen Sie Postversanddateien gleich auf Basis Ihrer in Access eingegebenen Buchungen.

Techniken

VBA, Binärdaten

Voraussetzungen

Access 2000 und höher

Beispieldateien

Postversand.mdb

Shortlink

www.access-im-unternehmen.de/821

Postversanddateien erstellen

André Minhorst, Duisburg

Der eine oder andere Unternehmer mag ein eigenes Kassenbuch führen, um Ein- und Ausgaben immer im Blick zu behalten. Da wäre es doch praktisch, wenn man die anfallenden Buchungen gleich in einer Form aufbereiten könnte, in der sie der Steuerberater gleich weiterverarbeiten kann. Der vorliegende Beitrag zeigt, wie dies funktioniert.

Von der Buchung zum Steuerberater

Die meisten Steuerberater verwenden Produkte der Firma DATEV, um die Buchführung von Unternehmen zu erstellen. Die Buchführung enthält die Buchungsvorgänge eines Jahres, die entweder in Form prall gefüllter Aktenordner zum Steuerberater gelangen, der diese dann bucht, oder in einem entsprechenden digitalen Format.

Das setzt voraus, dass der Unternehmer die Rechnungen selbst eingegeben und eine entsprechende Datei erstellt hat. Die Daten können in Form des OBE-Formats oder des KNE/DFE-Formats an die sogenannte Postversandschnittstelle übergeben werden. Beide verwenden zwei oder mehrere ASCII-Dateien zur Übertragung der Daten. Im Rahmen des vorliegenden Beitrags haben wir die Dateien des OBE-Formats analysiert und eine Lösung erstellt, mit der Sie aus den Buchungen aus einer Tabelle der Datenbank und einigen weiteren Informationen die benötigten Dateien DV01 und DE001, DE002 und so weiter erstellen können.

Die Datei DV01 ist die Verwaltungsdatei, die erstens einige grundlegende Informationen enthält und zweitens Verwaltungsinformationen zu den DE...-Dateien mit den eigentlichen Buchungssätzen.

Die Datendateien (DE001, DE002...) enthalten sogenannte Vorlaufdaten und die eigentlichen Buchungsdaten. Schließlich folgt noch die Summe der Umsätze.

Die Lösung dieses Beitrags verwendet nur eine DE...-Datei, die bis zu 9.999 Datensätze fassen kann.

Aufbau der Verwaltungsdatei DV01

Die Verwaltungsdatei enthält allgemeine Informationen und wird nur einmal je Satz erstellt - im Gegensatz zur Datendatei, die je nach Datenmenge auf mehrere Dateien aufgeteilt werden kann. Die Datei sieht in hexadezimaler Darstellung beispielsweise wie in Abb. 1 aus.

pic001.png

Abb. 1: Beispiel für den Aufbau der Datei DV01

Die Verwaltungsdatei wird wie folgt aufgebaut:

  • Datenträgernummer: dreistellige Nummer mit drei folgenden Leerzeichen, zum Beispiel A01
  • Beraternummer: siebenstellige Nummer, gegebenenfalls mit führenden Nullen
  • Beratername: neun Zeichen
  • Leerzeichen
  • Anzahl Datendateien: zwei Zeichen, gegebenenfalls durch folgende Nullen aufgefüllt (können bei nur einer Datei offensichtlich durch zwei Leerzeichen ersetzt werden)
  • Letzte Datendateinummer: Nummer der letzten Datei, gegebenenfalls durch folgende Nullen aufgefüllt (können bei nur einer Datei offensichtlich durch zwei Leerzeichen ersetzt werden)
  • Füllzeichen (37 Null-Bytes)

Danach folgen je Vorlauf einmal die folgenden Daten:

  • Verarbeitungskennzeichen (V: zu verarbeiten, *: nicht zu verarbeiten, L: gelöscht)
  • Dateinummer: Nummer der jeweiligen Vorlauf-Datei (bei DE001 etwa hexadezimal 0100, bei einstelligen Zahlen wird eine Null angehängt)
  • Anwendungsnummer (in der Regel 11)
  • Namenskürzel: zwei Zeichen, frei wählbar
  • Beraternummer: siebenstellige Beraternummer
  • Mandantennummer: fünfstellige Mandantennummer
  • Abrechnungsnummer: sechsstellige Abrechnungsnummer
  • Startdatum: ttmmjj, mit vier führenden Nullen
  • Enddatum: ttmmjj
  • Primanota-Seite: 001
  • Passwort: vierstelliges Passwort

Aufbau der Datendateien DE001, DE002 ...

Die Datendatei sieht im Hex-Editor wie in Abb. 2 aus. Jede Datendatei enthält zunächst einige allgemeine Informationen (insgesamt 80 Zeichen):

pic002.png

Abb. 2: Beispiel für die Datei DE001 mit den eigentlichen Buchungen

  • Vorlaufbeginn/Kennung: Sonderzeichen Chr(24) und Chr(29)
  • Versionsnummer: 1
  • Datenträger-Nummer: zum Beispiel A01
  • Anwendungsnummer: 11
  • Namenskürzel: zwei Zeichen, frei wählbar
  • Beraternummer: siebenstellige Beraternummer
  • Mandantennummer: fünfstellige Mandantennummer
  • Abrechnungsnummer: sechsstellige Abrechnungsnummer
  • Startdatum: ttmmjj
  • Enddatum: ttmmjj
  • Primanota-Seite: 001
  • Passwort: Vierstelliges Passwort
  • Anwendungsinfo: Anwendung, welche die Datei erstellt hat (bei SELF.DLL: SELF ID: 99999, sechzehnstellig, mit Leerzeichen auffüllen)
  • Input-Info: 16 Leerzeichen
  • Satzende: y

Aufbau einer Buchungszeile

Eine Buchungszeile wird in der Postversanddatei in der vorliegenden Lösung wie folgt zusammengesetzt (möglicherweise benötigen Sie weitere Felder - Informationen erhalten Sie im Schnittstellen-Entwicklungsleitfaden für das DATEV-Format, den Sie unter http://www.datev.de/portal/ShowPage.do?pid=dpi&nid=115908&stat_Mparam=int_url_datev_datevformat bestellen können):

  • Umsatz: Zeichen + oder - gefolgt vom Umsatz in Cent, für 34,90 EUR also beispielsweise +3490
  • Gegenkonto: Buchstabe a, ein Zeichen für den Berichtigungsschlüssel, ein Zeichen für den Steuerschlüssel und maximal fünf Zeichen für die Kontonummer.
  • Belegfeld 1: Buchstabe b und Rechnungsnummer, maximal sechs Stellen
  • Datum: Buchstabe d, gefolgt vom Datum im Format ttmm. Führende Nullen beim Tag werden nicht berücksichtigt.
  • Konto: Buchstabe e gefolgt vom Konto (maximal fünfstellig)
  • Buchungstext: maximal 30 Zeichen
  • Satzende: Buchstabe y

Es kann noch weitere Informationen geben, wenn beispielsweise Steuerkonten nicht automatisch von der Software des Steuerberaters festgelegt werden.

Dies sollte zum Beispiel für Konten wie 8300 (Erlöse 7% USt) oder 8400 (Erlöse 19% USt) der Fall sein.

Speichern der für die Erstellung notwendigen Daten

In der Beispieldatenbank speichern wir die Daten in zwei Tabellen: tblPostversand und tblBuchungen.

Die Tabelle tblPostversand enthält die Informationen für die Erstellung verschiedener Postversanddateien und sieht im Entwurf wie in Abb. 3 aus.

pic003.png

Abb. 3: Die Tabelle tblPostversand in der Entwurfsansicht

Die Tabelle zum Speichern der Buchungen entwerfen Sie wie in Abb. 4. Sie enthält unter anderem zwei Fremdschlüsselfelder zu einer Hilfstabelle namens tblKonten, die alle Konten des Kontenrahmens enthält. Wichtig für die hier vorgestellte Lösung sind die ersten sieben Felder, also diese:

pic004.png

Abb. 4: Die Tabelle tblBuchungen in der Entwurfsansicht

  • BuchungID: Primärschlüsselfeld der Tabelle
  • Belegnummer: Nummer des Belegs
  • Buchungsdatum: Datum der Buchung
  • Buchungstext: bis zu 30 Zeichen langer Text
  • Umsatz: Umsatz ohne Vorzeichen
  • KontoID: Fremdschlüsselfeld zur Tabelle tblKonten für das Konto
  • GegenkontoID: Fremdschlüsselfeld zur Tabelle tblKonten für das Gegenkonto

Die Tabelle mit einigen Beispieldatensätzen finden Sie in Abb. 5.

pic005.png

Abb. 5: Die Tabelle tblBuchungen mit einigen Beispieldatensätzen

Eingabe der Buchungen

Für die Eingabe der Buchungen können Sie das bereits im Beitrag Kassenbuch (http://www.access-im-unternehmen.de/486) vorgestellte Formular einsetzen. Die Daten für die Postversanddateien geben Sie in ein einfaches Formular ein, das auf der Tabelle tblPostversand als Datenherkunft aufbaut (s. Abb. 6). Es enthält eine Schaltfläche namens cmdErstellen, die den Prozess zum Erstellen der beiden Postversanddateien startet. Die Steuerung dieses Vorgangs erfolgt innerhalb der dadurch ausgelösten Ereignisprozedur:

pic006.png

Abb. 6: Eingabe der Postversanddaten und Start der Erstellung der Dateien

Private Sub cmdErstellen_Click()

    On Error Resume Next

    MkDir CurrentProject.Path & "\" & Me!Unterverzeichnis

    Kill CurrentProject.Path & "\" & Me!Unterverzeichnis & "\DE001"

    Kill CurrentProject.Path & "\" & Me!Unterverzeichnis & "\DV01"

    On Error GoTo 0

    Call VerwaltungsdateiSchreiben

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:

© 2003-2015 André Minhorst Alle Rechte vorbehalten.