Hallo,
Ich habe das Problem, dass ich nicht richtig weiß (und auch durch googlen nichts gefunden) wie ich die durch eine Funktion generierte Zeichenfolge im Bericht in ein Label schreibe.
Bei den Jeweis ersten Werten geht es. Aber der zweite Wert entspricht dem ersten.
Option Compare Database
Private Sub Report_Current()
Me.txtCodeBehID.Caption = code128.code128(Me.txtBeh_ID)
Me.txtCodeLieferant.Caption = code128.code128(Me.mel_lieferannum)
Me.txtCodeQM.Caption = code128.code128(Me.mel_nummer.Value)
Me.txtCodeLieferschein.Caption = code128.code128(Me.mel_lieschnum)
Me.txtCodeMatNum.Caption = code128.code128(Me.mel_matnum)
End Sub
Ich hoffe ich hab mich verständlich ausgedrückt.
Wenn mir jemand helfen kann, bin ich sehr dankbar.
[Anhang gelöscht durch Administrator]
Hallo,
mach mal das besser so und benutz Textfelder anstelle von Bezeichnungsfeldern:
Option Compare Database
Private Sub Detailbereich_Format(....)
Me!txtCodeBehID= code128(Me!txtBeh_ID)
Me!txtCodeLieferant= code128(Me!mel_lieferannum)
Me!txtCodeQM= code128(Me!mel_nummer.Value)
Me!txtCodeLieferschein= code128(Me!mel_lieschnum)
Me!txtCodeMatNum= code128(Me!mel_matnum)
End Sub
und stell den Font der Textfelder auf Code_128.ttf . Ändere zudem den Modulnamen in z. B. mdl_code128
Hallo,
@ DF6GL
Vielen Dank für die Antwort.
Ich habe als schnelle Lösung die jeweiligen Barcode-Zeichenketten per
'Private Sub Form_BeforeUpdate(Cancel As Integer)
'Me.mel_CODE_lieferannum = code128.code128(Me.mel_lieferannum)
'Me.mel_CODE_lieschnum = code128.code128(Me.mel_lieschnum)
'Me.mel_CODE_matnum = code128.code128(Me.mel_matnum)
'Me.mel_CODE_nummer = code128.code128(Me.mel_nummer)
'End Sub
im Eingabeformular in exatra Spalten gespeichert. Und dann rufe ich sie im Bericht ab.
Dass ich mit dem "Gruppenkopf0" im Bericht etwas machen muss wusste ich gar nicht.
Jetzt muss ich mich dann auch mal schlau machen, was man so mit dem "Gruppenkopf0" so machen muss, damit mein Vorhaben gelingt.
Wenn jemand einen Code, in dem so was ähnliches gemacht wird, bitte posten könnte, würde mich das sehr freuen.
Das Modul "code128" habe ich in einer Testversion zwecks Namens-Konventionen in "mdl_code128" umbenannt. Daher ist obiger Code auch auskommentiert.
Meine schnelle Lösung gefällt mir nicht wirklich, daher werde ich an dem Thema dran bleiben.
Vorab danke für hilfreiche alle Posts.
Hallo,
das ist alles viel zu kompliziert/umständlich...
Wenn es Tabellenfelder gibt, die die (Roh)-Daten beinhalten, dann benutz einfach meinen Vorschlag unter der Bedingung, dass der Bericht als Datenherkunft die betroffene Tabelle besitzt (bzw. eine Abfrage, die die betr. Tabelle abfragt, die aber NICHT sortiert oder gruppiert) und es im Bericht Textfelder gibt, die ja unsichtbar gestellt werden können und die an die Tabellenfelder gebunden sind (z. B. "mel_lieferannum").
Das Format-Ereignis muss in demjenigen Bereich (hier normalerweise der Datailbereich) in dem das zu bearbeitende Textfeld steht, benutzt werden.
Hi,
Also noch mal zu meinem Problem.
Mir gelingt es es nicht, die Zeichenketten für Barcodes (code128: startzeichen, Materialnummer, prüfziffer, endzeichen) verschiedener Feldinhalte zB Materialnummer zu jeder Position eines Packzettels zu generieren.
Im Kopf sind da zb Vorgangsnummer, Kunde etc
Im Detailbereich sind fortlaufende Positionen, die Materialnummern, Mengen etc beinhalten.
Wenn ich im Bericht beim Laden (vba report_load()) entsprechende eingabefelder mit der Zeichenkette fülle wird die Pos 1 richtig angezeigt. Pos 2 und jede folgende hat dann aber die Zeichenkette von Pos 1.
Muss ich nun zu jeder Pos die Zeichenkette in den Entspechenden Datensätzen speichern, oder kann ich das im bericht erstellen lassen? So dass jede Position den stimmigen Barcode bekommt?
Was ich noch dazu sagen muss, der Bericht arbeitet mit 3 verkünpften Tabellen.
Wenn ich noch Details posten soll, damit mir jemand helfen kann, einfach fragen.
Ich wäre sehr Dankbar, wenn mir jemand sagen kann wie das richtig geht.
Hallo,
ZitatDas Format-Ereignis muss in demjenigen Bereich (hier normalerweise der Detailbereich) in dem das zu bearbeitende Textfeld steht, benutzt werden.
Was willst Du mit dem Load-Ereignis??
Habe Dir doch im meinem ersten Beitrag sogar den (sogar vermutlich funktionierenden ) Code gezeigt. Was geht denn daran nicht?
Deine "schnelle Lösung" ist eh Murks.
ZitatIm Detailbereich sind fortlaufende Positionen, die Materialnummern, Mengen etc beinhalten.
Sub Detailbereich_Format(....)
Me!txtMatBarcode = code128(Me!mel_matnum) 'Wert in mel_matnum wird per Funktion in gültige Barcode-Zeichenkette umgewandelt und dem Textfeld txtMatBarcode, das den Barcode-Font in Eigenschaft "Schriftart" besitzt, zugewiesen.
End Sub
Hallo,
Vielen Dank für die Hilfe.
Es hat geklappt. ;D