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 3/2005.

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

Belege mit Barcodes verwalten

Christoph Spielmann, Düsseldorf

Fast jede monetäre Transaktion zieht heutzutage ein entsprechendes Stück Papier nach sich, sei es beim Kauf einer Digitalkamera oder beim Mittagessen bei Ihrem Lieblingsitaliener. Die hier vorgestellte Musterlösung stellt Ihnen eine Möglichkeit zur Verfügung, diese Belege zu verwalten und schnell wieder aufzufinden - falls beispielsweise die Digitalkamera einmal einen Defekt aufweist und Sie die Garantie in Anspruch nehmen möchten.

Hinweis

Die Musterlösung zu diesem Beitrag heißt Belegverwaltung00.mdb und funktioniert mit Access 2000 und höher. Sie finden die Datenbank und die benötigte Schriftart Barcode.ttf auf der Heft-CD oder im Internet unter http://www.ac
cess-im-unternehmen.de (Shortlink 279). (

Funktionsweise der Lösung

Die hier vorgestellte Lösung verfolgt das Prinzip "Chaos mit Ordnung". Jedes Dokument erhält eine eindeutige Nummer und wird danach auf einen Stapel gelegt. Die einzelnen Dokumente sind innerhalb des Stapels also in der Reihe des Eingangs abgelegt. Um nun schnell ein bestimmtes Dokument auffinden zu können, werden die einzelnen Dokumente mit einer Datenbank verwaltet, deren Aufbau Sie in diesem Artikel kennen lernen werden.

Die Datenstruktur

Die Datenstruktur der vorgestellten Lösung besteht aus den vier Tabellen tblBelege, tblKategorien, tblAdressen und tblSeiten. Die Tabelle tblBelege speichert die einzelnen Dokumente. Sie enthält die Felder aus Tab. 1.

Falls Sie Besitzer eines Scanners sind, können Sie das komplette Dokument als Anlage in dem Feld Anlage als OLE-Objekt hinterlegen.

Feldname

Beschreibung

BelegNr

AutoWert-Primärschlüssel

AdresseNr

Long Integer-Fremdschlüssel zur Tabelle tblAdressen

KategorieNr

Long Integer-Fremdschlüssel zur Tabelle tblAdressen

Anlagedatum

Datum, an dem der Datensatz angelegt wurde

Belegdatum

Datum des Belegs (zum Beispiel das Rechnungsdatum)

Kurzbezeichnung

Kurze Beschreibung zum Beleg (etwa "Digitalkamera")

Beschreibung

Ausführliche Beschreibung, falls erforderlich

Seitenanzahl

Anzahl der Seiten

IstSteuerrelevant

Information darüber, ob der Beleg steuerlich geltend gemacht werden soll/muss

Anlage

Dokument als OLE-Objekt

Endbetrag

Endbetrag des Belegs

MwStSatz

Zugrunde liegender Mehrwertsteuersatz

Tab. 1: Felder der Tabelle tblBelege

Um auch den Empfänger und den Absender eines Belegs hinterlegen zu können und nicht jedes Mal die Adresse erfassen zu müssen, stellt die Tabelle tblAdressen die Informationen über Name, Straße, PLZ, Ort und Telefon zur Verfügung. Um auch den Empfänger und den Absender eines Belegs hinterlegen zu können und nicht jedes Mal die Adresse erfassen zu müssen, stellt die Tabelle tblAdressen die Informationen über Name, Straße, PLZ, Ort und Telefon zur Verfügung.

Ordnung in die einzelnen Dokumente bringt die Tabelle tblKategorien, die lediglich die zwei Felder KategorieNr und Kategorie enthält. Durch die Verknüpfung zur Tabelle tblBelege kann jedes Dokument auf einen virtuellen Stapel wie beispielsweise "Handy-Abrechnung", "Bewirtung" oder "Kreditkartenabrechnung" gelegt werden. Die Verknüpfung der Tabellen entnehmen Sie Abb. 1.

Abb. 1: Das ER-Diagramm

Um die spätere Erstellung von Formularen zu vereinfachen, sind die beiden Felder AdresseNr und KategorieNr der Tabelle tblBelege als Nachschlagefelder definiert. Hierzu gehen Sie wie folgt vor:

  • Öffnen Sie die Tabelle tblBelege in der Entwurfsansicht und positionieren Sie die Einfügemarke auf das Feld AdresseNr.
  • Wechseln Sie unterhalb der Tabelle zum Register Nachschlagen.
  • Wählen Sie unter Steuerelement anzeigen die Einstellung Kombinationsfeld aus.
  • Geben Sie unter Datensatzherkunft die folgende Abfrage an: SELECT Name, AdresseNr FROM tblAdressen ORDER BY Name;
  • Ändern Sie die Eigenschaften Gebundene Spalte und Spaltenanzahl auf den Wert 2.
  • Geben Sie als Spaltenbreite den Wert 5cm;0cm ein. (
  • Auf die gleiche Weise definieren Sie für das Feld KategorieNr ein Nachschlagefeld. Verwenden Sie in diesem Fall jedoch die folgende Abfrage:

    SELECT Kategorie, KategorieNr FROM tblKategorien ORDER BY Kategorie;

    Speichern Sie anschließend die fertige Tabelle.

    Dokumente nummerieren

    Ein wesentlicher Bestandteil der hier vorgestellten Lösung ist, dass alle Dokumente mit einer eindeutigen Nummer versehen werden. Um die Nummer nicht von Hand auf das Dokument schreiben zu müssen, soll diese Aufgabe von Ihrem Drucker erledigt werden. Hierzu werden die Belege einfach in den Papiereinzug gelegt und der Drucker versieht diese mit der Nummer.

    Damit die Nummer immer sichtbar ist, wird sie in jeder Ecke und zudem noch invertiert ausgegeben. Zusätzlich zu der Nummer soll ein Barcode mit ausgegeben werden. Falls Sie also einen Barcode-Scanner haben sollten, können Sie einzelne Dokumente sehr schnell durch einfaches Scannen des Barcodes zuordnen.

    Den Ausdruck der Nummer und des Barcodes erledigt ein Berichts namens rptIndex. Der Bericht enthält im Seitenkopf und im Seitenfuß jeweils links und rechts zwei Text-Steuerelemente zur Ausgabe der Nummer und des Barcodes (s. Abb. 2).

    Falls Sie einen mehrseitigen Beleg haben, sollte die Nummer auf jeder Seite ausgegeben werden und idealerweise noch mit einer fortlaufenden Seitennummer versehen werden. Um diese zu realisieren, ist der Bericht an die Tabelle tblSeiten geknüpft. Diese Tabelle enthält nur eine einzelne Spalte namens SeiteNr. Damit für jeden Datensatz in der Tabelle tblSeiten eine Berichtsseite gedruckt wird, ist die Eigenschaft Neue Seite des Detailbereichs auf Vor Bereich eingestellt. Um nun eine bestimmte Anzahl Seiten zu drucken, muss die Tabelle tblSeiten zunächst mit der erforderlichen Anzahl Datensätze gefüllt werden. Dies erledigt die VBA-Prozedur SeitenErstellen (s. Quellcode 1).

    Abb. 2: Der Bericht rptIndex in der Entwurfsansicht.

    Die Prozedur erwartet als Parameter die Anzahl der gewünschten Seiten. Sie prüft zunächst, ob die Tabelle bereits mindestens die angegebene Anzahl an Datensätzen enthält. Sollte dies nicht der Fall sein, fügt sie die fehlenden Seiten hinzu. Der Bericht wird später mit einem Filterkriterium wie beispielsweise

    SeiteNr <= 10

    Sub SeitenErstellen(Anzahl As Integer)

        Dim i As Integer

        Dim MyRecordset As New ADODB.Recordset

        Dim AnzahlExistierendeSeiten As Long

        AnzahlExistierendeSeiten = DCount("SeiteNr", _
            "tblSeiten")

        If AnzahlExistierendeSeiten < Anzahl Then

            With MyRecordset

                .ActiveConnection = _
                    CurrentProject.Connection

                .LockType = adLockOptimistic

                .CursorLocation = adUseClient

                .Source = "tblSeiten"

                .Open

                For i = 1 To _
                    Anzahl - AnzahlExistierendeSeiten

    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.