Barcodes mit Access drucken

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Autor: Klaus Giesen, Wuppertal

Barcodes oder Strichcodes begegnen uns mit zunehmender Häufigkeit unter anderem auf Warenetiketten, Ausweisen oder auch auf Postpaketen. Diese maschinenlesbare Kennzeichnung ist ideal zur schnellen, sicheren und vor allem automatisierten Datenerfassung. Typische Einsatzbereiche sind beispielsweise die Kasse im Supermarkt, die Warenannahme eines Unternehmens oder ein Lager. Da auf diesen Barcodes oftmals Daten auftauchen, die auch in Access-Datenbanken gespeichert werden, liegen Erstellung und Druck dieser Barcodes direkt aus Access heraus auf der Hand.

Barcodes funktionieren folgendermaßen: Durch eine Abfolge von dunklen Linien auf weißem Hintergrund werden Daten kodiert. Die dunklen Linien können mit speziellen Lesegeräten optisch abgetastet und dabei wieder entschlüsselt werden.

Ihr wesentliches und kennzeichnendes Merkmal ist also, dass es mit ihrer Hilfe leicht möglich ist, gedruckte Informationen maschinell zu lesen.

Dadurch, dass Barcodes meistens auf Etiketten gedruckt werden, ist eine preiswerte und qualitativ gute Massenherstellung in Druckereien möglich. Aber auch Kleinserien lassen sich mit einem guten Tintenstrahl- oder Laserdrucker leicht herstellen.

Die Einsatzbereiche von Barcodes reichen weit über die Supermarktkasse hinaus. Sie sind mittlerweile in fast allen Bereichen von Handel, Industrie und Behörden zu finden – mit steigender Tendenz.

Entwicklung der Barcodes

Es liegt auf der Hand, dass der Ursprung der Strichcodes sehr eng mit der Computerentwicklung verbunden ist. Denn diese Kombination stellt die einzig sinnvolle Möglichkeit dar, auf Papier gedruckte Daten maschinell zu lesen.

Die entscheidenden Merkmale dabei sind Sicherheit, Geschwindigkeit und Wirtschaftlichkeit.

Die Entwicklung der Opto-Elektronik, die eine schnelle und sichere Decodierung der Barcodeinformationen ermöglicht, förderte die Verbreitung von Barcodes zunächst im Lebensmittelvertrieb.

Später kamen andere Bereiche des verteilenden Sektors sowie der industriellen Fertigung hinzu. Dort werden Barcodes hauptsächlich im Bereich der Materialsteuerung und -verteilung verwendet.

Weitere Anwendungsbereiche für Barcodes sind beispielsweise noch alle möglichen Arten von Personen- oder Mitgliedsausweisen.

Einige Daten zur chronologischen Entwicklung

1949 wird in den USA der erste Barcode patentiert. Etwa zur gleichen Zeit entstehen Supermärkte und damit auch die Wartezeiten an den Kassen.

1955 gibt es erste überlegungen zur Automatisierung von Kassen. Gleichzeitig kommt es zu einer rasanten Entwicklung in den Bereichen Elektronik und Opto-Elektronik.

1960 beginnt die allgemeine Verbreitung von Computersystemen.

1970 wird der erste Mikroprozessor entwickelt. Zu diesem Zeitpunkt existieren bereits sehr konkrete Vorstellungen über allgemein gültige und universell einsetzbare Barcodes.

1974 ist die Geburtsstunde des Code 39.

1976 wird der Code EAN (European Article Numbering) entwickelt.

Der Aufbau von Barcodes

Allgemein ausgedrückt ist Strich- oder Barcodierung eine aus Binärzeichen bestehende Information, deren Aufbau vorschriftsmäßig festgelegt und die maschinell lesbar ist.

Der Binärcode selbst besteht aus einem Feld von parallel angeordneten Strichen und Lücken. Die Striche und Lücken sind nach einem bestimmten Bild angeordnet, die einer festgelegten Regel folgen. Dadurch stellen sie eindeutige Elemente von Daten dar, die auf die dazugehörigen Zeichen verweisen.

Diese Codierung wird durch Aufdruck oder Klebeetiketten auf dem zu identifizierenden Gegenstand aufgebracht und durch ein Lesesystem optisch abgetastet.

Das Barcodefeld

Das Barcodefeld besteht aus der eigentlichen Strichcodierung, die am Anfang und am Ende durch je eine Ruhezone begrenzt ist. Die Ruhezone dient zur Abgrenzung.

Unterhalb der Strichcodierung befindet sich die Klarschriftzeile, in der die verschlüsselte Information in lesbarer Schrift dargestellt wird (siehe Bild 1).

Bild 1: Strichcodefeld

Die Codierung einer Buchstaben- bzw. Ziffernfolge hängt im Wesentlichen von den speziellen Eigenschaften der verwendeten Barcode-Typen ab. Davon sind im Laufe der Jahre eine Vielzahl entwickelt worden.

Grundsätzlich muss zwischen Non-interleaved- und Interleaved-Barcodes unterschieden werden.

Non-interleaved-Codes

Das kennzeichnende Merkmal eines Non-interleaved-Codes ist, dass jedes Zeichen einer Strichfolge eindeutig zugeordnet ist. Das heißt, jedes Zeichen entspricht exakt einer bestimmten Strichfolge und umgekehrt.

Daraus ergibt sich, dass Sie bei einem solchen Code einfach die zu codierende Zeichenfolge eingeben und mit einer passenden TrueType-Schrift formatieren können. Gleich nach dem Ausdruck ist der Barcode auch schon wieder lesbar.

Häufig finden sich vor und hinter der zu codierenden Zeichenfolge noch ein bis zwei zusätzliche Zeichen, die als Prüfziffern dienen.

Interleaved-Codes

Bei Interleaved-Codes dagegen ist die Codierung eines Zeichens von vorhergehenden und nachfolgenden Zeichen abhängig.

Bei diesen Codes besteht die Eindeutigkeit nicht in der Zuordnung eines Zeichens, sondern in der Zuordnung eines ganzen Wortes zu einer Strichfolge.

Da dies die Formatierungsmöglichkeiten von TrueType-Schriften übersteigt, ist zum Ausdruck ein Umrechnungsalgorithmus notwendig.

In diesem Beitrag lernen Sie jeweils einen typischen Vertreter dieser beiden Barcode-Typen stellvertretend für andere näher kennen:

  • Code 39 (Non-interleaved)
  • EAN (Interleaved)
  • Folgerichtig finden Sie auch den Ausdruck dieser beiden Barcode-Typen in der Beispieldatenbank wieder.

    Der Code 39

    Der Code 39 (drei aus neun) ist ein universeller Strichcode mit vielen Anwendungen in Industrie, Handel und sonstigen Bereichen (siehe Bild 2).

    Er wurde 1974 entwickelt, um eine alphanumerische Erfassung mittels Barcode zu ermöglichen. Damit ist auch schon ein wesentliches Kennzeichen des Code 39 genannt: Der alphanumerische Zeichensatz, der auch die Codierung von Buchstaben, beispielsweise Namen ermöglicht. Somit ist der Code 39 sehr flexibel verwendbar.

    Bild 2: Der Code 39

    Bild 3: Der Code EAN13

    Merkmale

    Jedes Zeichen ist aus neun Elementen (fünf Striche und vier Lücken) aufgebaut, wobei von diesen neun Elementen drei breit und sechs schmal sind.

    Dieser Aspekt ermöglicht die Selbstprüfung des Codes 39. Der Vorteil dieses Codes ist der große Zeichenvorrat. Nachteil ist die geringe Informationsdichte sowie die geringe Toleranz.

    Zeichensatz

    Der Zeichensatz umfasst die Ziffern 0-9 und die Großbuchstaben A-Z. Dazu kommen noch die Sonderzeichen Plus (+), Minus (-), Punkt (.), Leerzeichen ( ), Dollarzeichen ($), Schrägstrich (/) und das Prozentzeichen (%).

    Die Anzahl der darstellbaren Zeichen und damit die Breite des Barcodes ist nicht beschränkt.

    Prüfziffer bzw. -zeichen

    Beim Code 39 ist die Verwendung einer Prüfziffer wahlfrei. Die Prüfziffer besteht aus einem oder aus mehreren Zeichen zur Fehlerberechnung. Die Prüfzifferberechnung erfolgt beim Code 39 nach Modulo 43.

    Der Code EAN

    Der EAN-Code zählt zu der Gruppe der so genannten Handelsstrichcodes, was schon auf seinen hauptsächlichen Verwendungszweck hinweist.

    EAN steht für Europäische Artikel Nummerierung. Diese wurde ursprünglich als europaweit eindeutiges System zur Artikelnummerierung entworfen, hat sich aber mittlerweile zum weltweit einheitlichen Standard bei der Artikelnummerierung entwickelt.

    Das Konzept des EAN-Systems sieht vor, dass dieselbe Artikelnummer im EAN-Nummerierungssystem weltweit eindeutig nur für ein Produkt eines einzigen Herstellers verwendet wird.

    Beim EAN-Code wird zwischen einem dreizehnstelligen (EAN13) und einem achtstelligen Code (EAN8) unterschieden. Die Normalversion ist der dreizehnstellige Code (siehe Bild 3).

    Merkmale und Zeichensatz

    Der Code besteht aus jeweils zwei Hälften zu je sechs Zeichen sowie je einem Randzeichen und einer Trennlücke.

    Alle EAN-Barcodes umfassen als Zeichensatz nur die Ziffern 0-9, sind also rein numerische Codes. Die Ziffernanzahl ist dabei fest vorgegeben:

  • EAN13: 12 Nutzziffern + 1 Prüfziffer
  • EAN8: 7 Nutzziffern + 1 Prüfziffer
  • Prüfziffer

    Die Verwendung einer Prüfziffer ist für den EAN-Code vorgeschrieben. Sie wird in der Klartextbeschriftung angezeigt.Die Berechnung der Prüfziffer erfolgt beim EAN-Code nach Modulo 10.

    Das EAN-Nummernsystem

    Die ersten Ziffern des EAN-Nummernsystems geben ein Präfix an, das in der Regel ein Länder-Präfix ist. So kennzeichnen beispielsweise die Ziffern 400-440 Deutschland und 90-91 österreich.

    Spezielle Präfixe erlauben die Verwendung von EAN-Barcodes auch für interne Nummerierungen wie beispielsweise ISBN-Nummern und andere. Dadurch bleibt der Einsatzbereich von EAN-Codes trotz der starken Schematisierung gleichwohl flexibel.

    Innerhalb eines Landes vergibt eine landesspezifische Organisation Nummern, die jeweils einen Hersteller kennzeichnen.

    Bild 4: EAN13-Code ohne Unterlängen

    In Deutschland ist dies die CCG (Centrale für Coorganisation). Der Hersteller kann dann innerhalb des vorgegebenen Nummernkreises seine eigenen Artikelnummern festsetzen.

    Besonderheit 1: Ausdruck derKlartextbeschriftung

    Als erste Besonderheit ist bei EAN-Codes der Ausdruck der Klartextbeschriftung vorgeschrieben, die auch die Prüfziffer enthält (siehe Bild 4).

    Dazu ist die Verwendung einer OCR-Schriftart erforderlich. Da aber OCR-Schriften nicht zum Lieferumfang von Windows gehören, werden in der Beispieldatenbank die Klartextbeschriftungen mit der Schriftart Courier New in der Schriftgröße 10 Punkt ausgedruckt.

    Besonderheit 2: Unterlängen

    Standardmäßig verfügen die EAN-Codes über so genannte Unterlängen, die die codierte Zeichenfolge in drei Segmente unterteilen (siehe Bild 3).

    In der Beispieldatenbank besteht die Möglichkeit, den EAN-Code auch ohne Unterlängen auszudrucken.

    Auf diese Einstellmöglichkeit in der Beispieldatenbank wird an der entsprechenden Stelle noch einmal besonders hingewiesen.

    Nach diesen – zugegebenermaßen – doch recht theoretischen Hintergründen lernen Sie nun die Beispieldatenbank kennen, die Ihnen den Ausdruck von Barcodes erlaubt.

    Hinweis

    Sie finden die Datenbanken BarCode2000.mdb (Access 2000) und BarCode97.mdb (Access 97) auf der CD-ROM zu diesem Beitrag.

    Diese Datenbanken erlauben Ihnen den Ausdruck der beiden Barcodetypen Code39 und EAN. Als Beispiele dazu dienen eine Personal- und eine Lagerverwaltung.

    Bild 5: Das Dialogfenster Beziehungen

    Barcodeschrift

    Zum Ausdruck von Barcodes unter Windows ist eine spezielle, frei skalierbare TrueType-Schrift notwendig.

    Kennzeichnend für eine Barcodeschrift ist, dass sie – gemäß der binären Vorlage – nur aus den zwei Zeichen Null (0) und Eins (1) besteht.

    Damit Sie die Beispiele der Datenbank praktisch nachvollziehen können, ist der CD-ROM zu diesem Beitrag die TrueType-Schrift Barcode Universal beigefügt, die Sie zunächst auf Ihrem PC installieren müssen.

    Dieser Font besteht nur aus drei Zeichen: Einer schwarzen Linie, einer etwas längeren schwarzen Linie und einer Lücke. Aus diesen drei Zeichen lassen sich alle gängigen Barcodes generieren.

    Die kleine Personalverwaltung soll zum Bedrucken von Firmenausweisen mit Barcodes dienen. Mithilfe dieser Firmenausweise kann die grundsätzlich verschlossene Eingangstür geöffnet werden, indem der Firmenausweis durch ein entsprechendes Lesegerät gezogen wird.

    Denkbar wäre noch die Erweiterung, dass in einem Unternehmen mit hohen Sicherheitsanforderungen auch das Betreten bestimmter Abteilungen auf diese Art und Weise gesteuert wird. Am Prinzip der beschriebenen Vorgehensweise würde sich dadurch nichts ändern.

    Im Barcode auf dem Firmenausweis sollen folgende Informationen verschlüsselt werden:

  • die PersonalID
  • Vor- und Nachname des Mitarbeiters
  • die Abteilung
  • Aus diesen Anforderungen ergibt sich zwangsläufig, dass ein alphanumerischer Barcode gebraucht wird, der Code 39.

    Hinweis

    Bei diesem Beispiel sind verschiedene Hilfsfelder im Formular der Personalverwaltung zur Verdeutlichung der Funktionalität sichtbar geschaltet, die normalerweise in einer solchen Anwendung nicht unbedingt angezeigt werden müssten.

    Das Datenmodell

    Das Datenmodel der Personalverwaltung besteht lediglich aus den beiden Tabellen tblPersonal und tblAbteilung, die 1:n miteinander verknüpft sind (siehe Bild 5).

    Das Formular frmPersonal

    Im Formular frmPersonal sind zunächst einmal die notwendigen Felder zum Erfassen von Personaldaten vorhanden.

    Daneben sind im Formular frmPersonal verschiedene ungebundene Textfelder vorhanden, die für die Erstellung bzw. Anzeige des Barcodes notwendig sind (siehe Bild 6). Ein Teil der dazu notwendigen Funktionalität befindet sich ebenfalls in diesem Formular. Die Einzelheiten dazu lernen Sie im nächsten Abschnitt dieses Beitrags kennen.

    Bild 6: Das Formular frmPersonal

    Private Sub CboAbteilungID_NotInList(NewData As _    String, Response As Integer)
        On Error GoTo Err_CboAbteilung_NotInList
        Response = acDataErrAdded
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        Set db = CurrentDb
        Set rs = db.OpenRecordset("tblAbteilung", _        DB_OPEN_DYNASET)
        rs.AddNew
        rs!txtAbteilung = NewData
        rs.Update
        rs.Close
        Set rs = Nothing
        Set db = Nothing
    Exit_CboAbteilung_NotInList:
        Exit Sub
    Err_CboAbteilung_NotInList:
        MsgBox Error$
        Resume Exit_CboAbteilung_NotInList
    End Sub

    Quellcode 1

    Die beiden Kombinationsfelder Abteilung und Anrede erlauben übrigens das Anlegen neuer Listeneinträge. Dies geschieht jeweils durch eine kleine Ereignisprozedur, die im Bei Nicht in Liste-Ereignis des betreffenden Kombinationsfeldes ausgeführt wird. In Quellcode 1 finden Sie die Prozedur für das Kombinationsfeld Abteilung.

    Das Modul Code39

    Im Modul Code39 der Beispieldatenbank sind die Funktionen enthalten, die den gewünschten String in einen Barcode vom Typ Code 39, also in eine Folge von Linien und Lücken umrechnen. Diese kann dann mit dem Barcode-Font ausgegeben werden.

    Die gesamte Prozedur der Barcodeerstellung läuft in drei Schritten ab:

  • Die Zusammenstellung der Textelemente für den Barcode
  • Die Berechnung des Barcodes
  • Der Ausdruck des Barcodes
  • Barcode-Text zusammenstellen

    Die Bestandteile des Textes für den Barcode sind aus der Aufgabenstellung vorgegeben: PersonalID, Vor- und Nachname und AbteilungID.

    Deshalb bietet es sich an, diese Zusammenstellung aus den Inhalten der betreffenden Felder automatisch zu erzeugen.

    Die Zusammenstellung erfolgt in dem ungebundenen Textfeld Eingabe. Dies ist an sich nichts Besonderes und könnte beispielsweise durch Einstellen der Datenherkunft für dieses Feld auf einen einfachen Ausdruck erfolgen:

    Bild 7: Berechneter Barcode im Formular

    =[PersonalID] & " " & [txtVorname] _    & " " & [txtNachname] & " " & _    [AbteilungID]

    Da aber das Ausdrucken von Barcodes für Firmenausweise eine relativ einmalige Angelegenheit ist, ist die Lösung hier ein wenig verfeinert worden:

    Die Zusammenstellung des Textes erfolgt durch einen Klick auf die Schaltfläche Eingabe Barcode-Text.

    Die dabei ausgeführte Ereignisprozedur stellt die Datenherkunft für das Feld Eingabe auf den eben erwähnten Ausdruck ein (s. Abb. 7, Textfeld oben rechts).

    Barcode berechnen

    Ein Klick auf die Schaltfläche Barcode berechnen zeigt direkt im Formular das Ergebnis in drei ungebundenen Textfeldern an.

    Hinweis

    Die recht komplexe Verarbeitung zur Barcodeberechnung innerhalb verschiedener Funktionen kann an dieser Stelle nicht bis ins letzte Detail beschrieben werden. Sie können die genaue Verarbeitung jedoch leicht anhand des in diesem Abschnitt abgedruckten Quellcodes nachvollziehen.

    Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

    Testzugang

    eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

    diesen und alle anderen Artikel mit dem Jahresabo

    Schreibe einen Kommentar