PDA

Vollständige Version anzeigen : Etiketten in bestimmter Anzahl drucken.


moto2384
24.03.2006, 10:24
Hallo,

ich möchte in Access mehrere Etiketten als Bericht drucken. Dazu habe ich ein Eingabefeld erstellt, in das man für jedes Etikett eine bestimmte Anzahl eingeben kann, die dann gedruckt werden soll. Den folgenden Code habe ich zu diesem Zweck im Bericht erstellt, nach der Anleitung auf http://www.fullaccess.de/CONT_EN_cdbe3efe-e986-434d-be15-b744f30411b8.aspx:

Code:
Private Sub Detailbereich_Print(Cancel As Integer, PrintCount As Integer)

If Anzahl = 0 Then
'gar nichts drucken
Me.NextRecord = True
Me.MoveLayout = False
Me.PrintSection = False
Else 'Druckvorgang wiederholen,
'wenn Anzahl
'noch nicht erreicht ist
If PrintCount <= Anzahl Then
Me.NextRecord = False
End If
End If
End Sub


Allerdings druckt er zwar den ersten Datensatz richtig in der vorgegebenen Anzahl. Aber von den nachfolgenden Datensätzen druckt er jeweils ein Etikett mehr als im Datensatz angegeben.

Kann mir da jemand einen Lösungsansatz geben?

Danke

Gruß

edit: Sorry, der Link funktionierte nicht. Habe ich gerade behoben!

Anne Berg
24.03.2006, 12:19
Mit dem Original-Code (If PrintCount < AnzahlEtiketten Then) klappt das wunderbar! :D

moto2384
24.03.2006, 13:47
Korrigiert mich, wenn ich falsch liege, aber wie ich das Feld nun bezeichne (ob "Anzahl" oder "AnzahlEtiketten") ist doch egal, solange ich überall dieselbe Bezeichung verwende, oder?
Sollte es übrigens in der Vorlage nicht "Print Count <= AnzahlEtiketten" heißen statt dass "PrintCount < AnzahlEtiketten"? Da wird doch dann noch vor dem letzten Etikett zum nächsten Datensatz gesprungen.

Anne Berg
24.03.2006, 13:49
Ja, da hast du Recht: am Namen sollte es nicht liegen. ;)

Aber es gibt Methoden, die fangen gern bei Null an zu zählen und das ist der überwiegende Fall! :p
Außerdem lässt sich das durch Ausprobieren doch ganz leicht feststellen...

Und es ist wohl davon auszugehen, dass das Beispiel OK ist, da hätten sich sonst schon andere beschwert.

moto2384
24.03.2006, 13:56
Danke.

Genau das ist das Problem. Beim ersten Datensatz scheint er bei 0 anzufangen zu zählen. Ab dem zweiten aber bei 1? Kann das sein, ist das konfigurierbar? Oder könnte er bei Neubeginn der Prozedur durch den ersten Durchlauf für den zweiten Datensatz "versehentlich" einen Druckauftrag von vorher mitnehmen?

Arne Dieckmann
24.03.2006, 13:56
Zum 3. Beitrag: Ein Textfeld "Anzahl" zu nennen, halte ich trotzdem für eine schlechte Idee. Hier gab's schon die wildesten Effekte, nur weil Schlüsselbegriffe eingesetzt wurden.

moto2384
24.03.2006, 14:20
Hab es jetzt mal in "AnzahlLabel" umbenannt. :-) Geht trotzdem nicht.

Anne Berg
24.03.2006, 22:49
Tut mir leid, mit einem simplen Beispiel nachgestellt klappt das erwartungsgemäß.

Was machst du bzw. ist bei dir anders?!