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:
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:
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:
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:
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