Etiketten drucken mit Access

Ein Kunde fragte neulich, warum ich nicht mal einen Beitrag darüber verfasse, wie man mit einem Thermodrucker beispielsweise Versandetiketten druckt. Also machen wir das einfach! Dieser Artikel zeigt am Beispiel des Brother-Druckers QL-700, wie man aus Access heraus Etiketten drucken kann.

Adressdaten vorbereiten

Für die Ausgabe von Etiketten benötigen wir einige Daten, zum Beispiel Adressdaten, sowie einen Bericht, der die Ausgabe der Daten formatiert. Die Adressdaten verwalten wir in der Tabelle tblAdressen, die mit Daten wie in Bild 1 aussieht.

Adressdaten für die Adressetiketten

Bild 1: Adressdaten für die Adressetiketten

Die Adressen sind bis auf einige Adressen ohne Firma vollständig, weshalb wir im Bericht zwei verschiedene Formate vorsehen wollen:

  • Adressen mit Firma: Firma in der ersten Zeile, Anrede, Vorname und Nachname in der zweiten Zeile, Straße in der dritten und PLZ und Ort in der vierten Zeile.
  • Adressen ohne Firma: Anrede in der ersten Zeile, Vorname und Nachname in der zweiten Zeile, Straße in der dritten und PLZ und Ort in der vierten Zeile.

Bericht erstellen

Um den Bericht zu erstellen, der in dem gewünschten Format auf Etiketten ausgedruckt werden soll, legen wir zunächst einen einfachen Bericht in der Entwurfsansicht an. Diesem weisen wir als Datensatzquelle die Tabelle tblAdressen zu. Nun könnten wir jedes der Felder einzeln in den Detailbereich des Berichtsentwurfs ziehen, aber wenn wir die Darstellung mit wahlweise Firma oder Anrede in der ersten Zeile realisieren wollen, ist ein einziges Textfeld praktischer.

Nachdem wir dieses hinzugefügt haben, entfernen wir zuerst das Beschriftungsfeld des Textfeldes und stellen dann seine Eigenschaft Steuerelementinhalt auf den folgenden Ausdruck ein:

=Wenn(IstNull([Firma]);[Anrede];[Firma]) 
   & Zchn(13) & Zchn(10) 
& Wenn(IstNull([Firma]);Null;[Anrede])+" "   & [Vorname] & " " & [Nachname] 
   & Zchn(13) & Zchn(10) 
& [Strasse] 
   & Zchn(13) & Zchn(10) 
& [PLZ] & " " & [Ort]

Der Berichtsentwurf sieht danach wie in Bild 2 aus.

Erster Entwurf des Berichts

Bild 2: Erster Entwurf des Berichts

Der Ausdruck prüft zu Beginn, ob das Feld Firma für den aktuellen Datensatz Null ist. Falls ja, wird zuerst das Feld Anrede ausgeben, sonst Firma. Zchn(13) & Zchn(10) ist ein Zeilenumbruch und entspricht der Konstanten vbCrLf.

Der Ausdruck für die zweite Zeile prüft wieder, ob Firma den Wert Null hat. Falls ja, gibt der Wenn-Ausdruck den Wert Null aus, falls nein, den Wert des Feldes Anrede. Warum geben wir den Wert Null aus und nicht einfach eine leere Zeichenkette Weil wir den Inhalt der Wenn-Bedingung per Plus-Zeichen (+) mit dem folgenden Teil ” ” & Vorname & ” ” & Nachname verknüpft haben. Und wenn der Wenn-Teil den Wert Null liefert, dann wird der komplette Ausdruck, der mit dem Plus-Zeichen verknüpft ist, zum Wert Null. Wenn die Anrede also in der zweiten Zeile nicht ausgegeben werden soll, weil sie schon in der ersten Zeile steht, würde dort sonst noch das Leerzeichen zwischen Anrede und dem Vorname erscheinen. Dies verhindern wir durch das Ausgeben von Null in dem Fall, dass die Anrede schon in der ersten Zeile ausgegeben wurde und die Verknüpfung mit dem Ausdruck ” ” durch ein Plus-Zeichen statt durch das Kaufmanns-Und (&).

Danach folgt noch eine weitere Zeile mit dem Wert des Feldes Strasse sowie in der letzten Zeile PLZ und Ort. Wechseln wir nun in die Seitenansicht, erhalten wir die Adressen wie in Bild 3.

Adressdaten in der Seitenansicht

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar