Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: claudia2324 am August 08, 2013, 16:21:19

Titel: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 08, 2013, 16:21:19
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
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: DF6GL am August 08, 2013, 17:38:06
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.
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 09, 2013, 11:38:00
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

Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: DF6GL am August 09, 2013, 12:27:26
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)
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 09, 2013, 14:12:03
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
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: DF6GL am August 09, 2013, 14:47:41
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.
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 09, 2013, 15:21:19
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... :(
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 09, 2013, 15:31:21
Hmm, im Steuerelementeinhalt des Textfeldes txtBarcode (heißt bei mir auch so) steht aber schon "=[txtSeitennr]". Ist das jetzt problematisch?
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: DF6GL am August 09, 2013, 18:13:42
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
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 12, 2013, 10:10:05
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
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 12, 2013, 10:21:54
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
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: DF6GL am August 12, 2013, 11:14:46
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.
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 12, 2013, 14:08:53
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?   ???

Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: database am August 12, 2013, 16:01:25
Hallo,

="*"+[txtEtagennr] & "*"

ist kein gültiger Ausdruck!

ersetze bei diesen Feldinhalten + durch & ....
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 13, 2013, 12:52:55
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
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: database am August 13, 2013, 13:35:24
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 ...

Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 13, 2013, 13:52:26
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
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: database am August 13, 2013, 14:34:27
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]
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 13, 2013, 17:23:01
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]
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 13, 2013, 17:30:20
... Hmm, falls nochmal jemand reinschauen mag...  :) Hier noch meine aktuellste Testversion...

[Anhang gelöscht durch Administrator]
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: DF6GL am August 13, 2013, 18:07:25
Hallo,


mach die Dinger einfach nochmal neu...




[Anhang gelöscht durch Administrator]
Titel: Re: Seitenzahl nur pro Datensatz - mehrseitiger Bericht
Beitrag von: claudia2324 am August 13, 2013, 19:36:53
Danke!

Aber heee :-\ Das hatte ich bereits und jetzt gehts... Hmm... :D

VG Claudia