Hallo,
ich muss in der Kopfzeile eines vierseitigen Berichts die Seitenzahl als Barcode einfügen. Mein Problem ist nun, dass die Seitenzahl nicht fortlaufend ausgegeben werden soll, sondern immer von 1 bis 4 pro Datensatz.
Das dient der Generierung von personalisierten Bewertungsbögen für Auswahlgespräche.
Ich hoffe jemand hat einen Tipp für mich, wie sich das realisieren lässt? :)
VG
Claudia
Hallo,
wie ist das mit dem 4-seitigen Bericht pro Datensatz zu verstehen?
Hast Du Seitenumbruch-Steuerelemente im Detailbereich, die die 4 Seiten produzieren?
Welchen Sinn hat es, für eine Seitennummer einen Barcode anzuzeigen/auszudrucken?
Um welchen Barcode handelt es sich?
Erstell im Seitenkopf zwei Textfelder, "txtSeitennr" (unsichtbar) und "txtBarcode" (sichtbar und auf einen Barcode-Font (Code 39 z. B.) eingestellt)
Im Steuerelement von "txtSeitennr" kommt =[Seite] zu stehen.
Füg zusätzlich diesen Code an (passend) ein:
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
If Me.Page = 4 Then Me.Page = 0
End Sub
Private Sub Seitenkopfbereich_Format(Cancel As Integer, FormatCount As Integer)
Me!txtBarcode = "*" & Me!txtSeitennr & "*"
End Sub
Je nach Barcode-Typ sind die Sternchen und/oder auch eine/mehrere Prüfziffer/n, die extra zu berechnen ist/sind , erforderlich.
Vielen Dank, ich habe das wie beschrieben umgesetzt und es klappt. :)
Der Font ist "3 of 9 Barcode".
Ja, ich habe Seitenumbruch-Steuerelemente verwendet.
Die Bögen werder mit der OMR-Software Remark gescannt. Ich schätze es soll die Seitenzahl mitgescannt werden, da auf den Seiten die Nummerierung der Bewertungen jeweils mit "1)" usw... beginnen. Na ja, ist nicht meine Aufgabe und ich stecke auch zu wenig in der derauffolgenden statistischen Analyse drin. Aber für die Analyse halte ich die Info der Seitenzahl für unsinnig... Aber ok, Aufgabe ausgeführt ::)
Nächstes seoben erfahrenes Problem ist, dass vor jeden Barcode (sind alles Zahlen) ein Stern soll. Das wäre dann wohl wieder über die Steuerelementeinhalt der Textfelder im Bericht zu lösen, oder? ???
VG
Claudia
Hallo,
in meinem Beispiel SIND vor und nach der Seitenzahl ein je ein "*" eingebaut....
Wenn bei einem anderen Text auch ein Barcode angezeigt/gedruckt werden soll, kannst Du mein Beispiel als Vorlage nehmen. Es geht aber auch, in einem zusätzlichen Textfeld im Steuerelementinhalt etwa dies zu schreiben:
="*" & [txtEinBarcodeFeld] & "*"
und dieses Textfeld auf den Barcode-Font einzustellen.
(wobei "ein Stern am Anfang " eher unüblich ist)
Ups... sorry, da hab ich doch noch das mit dem "*" übersehen... :-[
Ja, der Stern soll davor und wenn die anzuzeigende Zahl im Barcode weniger als drei Stellen hat, dann muss durch Nullen aufgefüllt werden z.B. Seite "001"...
Könnte das noch im Steruelementeinhalt des Textfeldes im Bericht direkt geregelt werden?
Leider kriege ich nun doch nicht hin, die Codezeite Me!txtBarcode = "*" & Me!txtSeitennr & "*" in den bereits vorhandenen Code für den Seitenkopf zu integrieren.
Zudem soll bei Zahlen, die weniger als drei Stellen haben mit "0" entsprechend aufgefüllt werden. Liese sich das in den Steurelementeeigenschaft der Textfelder für den Barcode im Bericht realisieren?
Option Explicit
Private Sub Seitenkopfbereich_Format(Cancel As Integer, FormatCount As Integer)
If IsNull(Me!AdH_ID) Then
Me!txtJurorID.Visible = False
Me!txtJurorID2.Visible = False
Me!txtLfdNr.Visible = False
Me!bezLfdNr.Visible = False
Me!txtBewerbername.Visible = False
Me!LiNachname.Visible = True
Me!LiVorname.Visible = True
Else
Me!LiNachname.Visible = False
Me!LiVorname.Visible = False
End If
End Sub
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer) ' Zählung der Seitenzahl pro Datensatz (Wird im Berichtskopf als Barcode angegeben)
If Me.Page = 6 Then Me.Page = 0
End Sub
Private Sub Seitenfußbereich_Format(Cancel As Integer, FormatCount As Integer)
If IsNull(Me!AdH_ID) Then Me!txtVersion.Caption = "bwb_stat-6_blanko"
End Sub
Ich hoffe auf hilfreiche Tipps :).
VG
Claudia
Hallo,
wie, Du bekommst das nicht hin?? Kopier sie doch einfach rein und passe die Namen an..
Mit Erweiterung auf 3 Ziffern und ein Sternchen am Anfang
Me!txtBarcode = "*" & Format(Me!txtSeitennr,"000")
Das Schreiben des Ausdrucks in den Steuerlementinhalt könnte an dieser Stelle Schwierigkeiten ergeben.
Ich meine an welche Stelle im schon vorhandenen Code ?
So? :-[
Private Sub Seitenkopfbereich_Format(Cancel As Integer, FormatCount As Integer)
If IsNull(Me!AdH_ID) Then
Me!txtBarcode = "*" & Format(Me!txtSeitennr,"000")
Me!txtJurorID.Visible = False
Me!txtJurorID2.Visible = False
Me!txtLfdNr.Visible = False
Me!bezLfdNr.Visible = False
Me!txtBewerbername.Visible = False
Me!LiNachname.Visible = True
Me!LiVorname.Visible = True
Else
Me!txtBarcode = "*" & Format(Me!txtSeitennr,"000")
Me!LiNachname.Visible = False
Me!LiVorname.Visible = False
End If
End Sub
Klappt nicht... :(
Hmm, im Steuerelementeinhalt des Textfeldes txtBarcode (heißt bei mir auch so) steht aber schon "=[txtSeitennr]". Ist das jetzt problematisch?
Hallo,
"im Steuerelementeinhalt des Textfeldes txtBarcode (heißt bei mir auch so) steht aber schon "=[txtSeitennr]". "
Hast Du den Ausdruck reingeschrieben?
Wenn Du meinen Vorschlag von letzthin übernommen hast, darf da nichts drinstehen..
Un es muss so heißen:
Private Sub Seitenkopfbereich_Format(Cancel As Integer, FormatCount As Integer)
If IsNull(Me!AdH_ID) Then
Me!txtJurorID.Visible = False
Me!txtJurorID2.Visible = False
Me!txtLfdNr.Visible = False
Me!bezLfdNr.Visible = False
Me!txtBewerbername.Visible = False
Me!LiNachname.Visible = True
Me!LiVorname.Visible = True
Else
Me!LiNachname.Visible = False
Me!LiVorname.Visible = False
End If
Me!txtBarcode = "*" & Format(Me!txtSeitennr,"000")
End Sub
Hallo und vielen Dank für die Hilfe :)
Ich habe den Code aus der letzten Antwort übernommen und im Steuerelementeinhalt des Feld txtBarcode steht "=[txtSeitennr]".
Leider erhalte ich folgende Fehlermeldung:
"Laufzeilenfehler Zeile 2448: Sie können diesem Objekt keinen Wert zuweisen."
Zeiger steht auf Codezeite "Me!txtBarcode = "*" & Format(Me!txtSeitennr, "000")".
Was ist noch falsch?
Ach ja, jetzt sollen es doch ein Sternchen vorne und eines hinter der mind. dreistelligen Zahl sein.
VG
Claudia
Hmm, kleiner Nachtrag(Frage...
Hab ja auch noch folgenden Code scharfgeschaltet:
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer) ' Zählung der Seitenzahl pro Datensatz (Wird im Berichtskopf als Barcode angegeben)
If Me.Page = 6 Then Me.Page = 0
End Sub
Ergibt das vielleicht die Fehlermeldung?
VG
Claudia
Hallo,
das kann ich so mit diesen fragmentierten Angaben doch nicht überblicken..
Am Besten lädst Du eine (funktionierende) DB mit diesem Bericht und ein paar Spieldaten einschliesslich einem aufrufenden Formular machvollzogen werden kann..al hier hoch, damit das nachvollzogen werden kann.
Hallo,
anbei meine Test-DB. Bevor ich die Lösung in die Originale übertrage, arbeite ich derzeitig mit dieser Version. (Umwandlung in *.mdb hatte leider nicht funktioniert)
Es funktieniert alles, bis auf eben die Probleme im Barcode.
Der Barcode soll jetzt nicht mehr mindestens dreistelling sein (Platz sparen) aber die Zahl soll nach wie vor mit einem Stern begonnen und mit einem Stern abgeschlossen werden.
Z.B. beim Barcodefeld Etage klappt es mit einem ausgeblendeten Textfeld mit dem entsprechenden Steuerelementeinhalt und der Übertragung dieses durch ="*"+[txtEtagennr] & "*".
Das selbe Vorgehen funktioniert aber bei den Angaben zm "Durchgang" und zur "Bewerber-ID" nicht.
In dem Bogen zur Station 7 habe ich im Code zum Berichtsentwurf die Zeile Me!txtBarcodeSeitenzahl = "*" & Me!txtSeitennr & "*" hinzugenommen Steuerelementeinhalt beim entsprechenden Textfeld im Bericht ist "=[txtSeitennr]". Leider klappt dies nicht.
Hmm, was läuft noch nicht rund? ???
Hallo,
="*"+[txtEtagennr] & "*"
ist kein gültiger Ausdruck!
ersetze bei diesen Feldinhalten + durch & ....
Hallo und vielen Dank für den vorherigen Tipp.
Der Druck der personalisierten Bögen funktioniert jetzt. Nur leider der Druck der Blanko-Ersatzbögen nicht ganz korrekt. Einige Textfelder in der Kopfzeile (Stockwerk, Durchgang, Bewerber ID) werden ausgeblendet und ich weiß leider nicht warum?! ???
Ich hatte mich jetzt dafür entschieden, die teils zusammngesetzen Barcodes mit den Sternchen im VBA-Code zum Bericht zu generieren.
Ich habe auch mal meine derzeitige Testversion der DB angehängt.
Hier mal der VBA-Code zum Bericht:
Option Explicit
Private Sub Seitenkopfbereich_Format(Cancel As Integer, FormatCount As Integer)
If IsNull(Me!AdH_ID) Then
Me!txtJurorID.Visible = False
Me!txtJurorID2.Visible = False
Me!txtLfdNr.Visible = False
Me!bezLfdNr.Visible = False
Me!txtBewerbername.Visible = False
Me!Name.Visible = True
Me!bcodeEtage.Visible = False
Me!bcodeDurchgang.Visible = False
Me!txtJurorID.Visible = False
Me!bcodeAdH_ID.Visible = False
Else
Me!Name.Visible = False
Me!bcodeEtage = "*" & Me!txtEtagennr & "*"
Me!bcodeDurchgang = "*" & Me!txtDurchgang & "*"
Me!txtJurorID = "*" & Me!txtJID & "*"
Me!bcodeAdH_ID = "*" & Me!txtAdH_ID & "*"
End If
End Sub
Der Code zum Druck eines Blankobogens ist folgender:
(Auswahl eines Bewertungsbogens über das Listenfeld "KBlanko" auf dem Formular "Sort_Seriendruckliste")
...
Blanko_Pruefb_pdf:
strSQL = "SELECT Bewertungsboegen.Station1, Bewertungsboegen.Station2, Bewertungsboegen.Station3, Bewertungsboegen.Station4, Bewertungsboegen.Station5, Bewertungsboegen.Station6, Bewertungsboegen.Station7, Bewertungsboegen.Station8, Bewertungsboegen.Station9,Bewertungsboegen.Station10, Bewertungsboegen.Etagennr, Bewertungsboegen.Durchgang, Bewertungsboegen.AdH_ID, Bewertungsboegen.Startstation, Bewertungsboegen.Nachname, Bewertungsboegen.Vorname FROM Bewertungsboegen Where 1=2"
stDocName = "abf_Station_" & Me!Kblanko
CurrentDb.QueryDefs(stDocName).SQL = strSQL
DoCmd.OutputTo acOutputReport, "Station_" & Me!Kblanko, acFormatPDF, CurrentProject.Path & "\Station-" & Me!Kblanko & "_" & "Blanko" & Format(Date, "\_yyyy-mm-dd") & ".pdf"
Exit Sub
...
Über hilfreiche Tipps wäre ich sehr dankbar. :)
VG
Claudia
Hallo,
das dürfte daher kommen, dass deine Abfrage keine Daten liefert.
... FROM Bewertungsboegen Where 1=2"
und das wiederum liegt wahrscheinlich an der WHERE-Klausel.
Ohne Daten wird dieses schlagend ...
If IsNull(Me!AdH_ID) Then
woraufhin die besagten Felder ausgeblendet werden ...
Hallo, ja so soll es auch sein, damit in die entsprechenden Felder im Blanko-Formular keine Daten eingetragen werden.
Nur das das eben einfache Textfelder für Überschriften sind.
Die habe ich so benannt: bezEtage, bezDurchgang, bezJuror_ID, bezBewerber_ID ... und tauche in keinem Code auf ???
Gilt dann immer noch die vorherige Antwort?
Wie kriege ich das wieder in den Griff, dass die Textfelder angezeigt werden? ???
Hoffe auf Hilfe. :)
VG
Claudia
Hallo,
ZitatDie habe ich so benannt: bezEtage, bezDurchgang, bezJuror_ID, bezBewerber_ID ... und tauche in keinem Code auf
...und in deiner Musterdatenbank auch nicht am Bericht! ... siehe Anhang
Das nächste Problem bekommst du dann hier:
Me!Text6 = "*" & Me!txtEtagennr & "*"...weil das Feld txtEtagennr leer ist
[Anhang gelöscht durch Administrator]
Hallo und vielen Dank.
Ich verstehe es leider nicht ganz :-[
Es geht mir doch um die Überschriften! Wieso werden diese in den Blankos ausgeblendet? ??? Die müssen dort stehen bleiben, damit darunter handschriftlich eingetragen werden kann!
Es war ja mal genau so gedacht, dass eben bei den Blankos keine Daten übergeben werden und somit die entsprechenden Textfelder ausgeblendet sind. Das funktionierte prima, bis ich nun Änderungen wegen der Sternchen für den Barcode vornehmen musste. Der Druck der personalisierten Bögen als PDF funktioniert aber einwandfrei...
Wieso bleiben beim Bericht "Station_1" nur die Überschriften "Station:" und "Juror ID" stehen und beim Bericht "Station_7" nur "Station:", "Juror ID" und "Seitenzahl:"?
Ich hab noch ein PDF angehängt, in dem man das Problem hoffentlich erkennen kann.
Ich hoffe, ich kann nochmals Hilfe bekommen. :)
VG
Claudia
[Anhang gelöscht durch Administrator]
... Hmm, falls nochmal jemand reinschauen mag... :) Hier noch meine aktuellste Testversion...
[Anhang gelöscht durch Administrator]
Hallo,
mach die Dinger einfach nochmal neu...
[Anhang gelöscht durch Administrator]
Danke!
Aber heee :-\ Das hatte ich bereits und jetzt gehts... Hmm... :D
VG Claudia