VBA: Seiten aus Bericht drucken

10/11/2008 - 16:59 von Beck, Alwin | Report spam
Hallo,
ich habe eine Access Anwendung, welche mir Inventurbelege druckt.
Auf einm Beleg stehen Artikeldaten. Jeder Beleg ist numeriert.
Die Numerierung habe ich so gelöst, in dem ich auf dem Bericht
ein Textfeld (Name : Text1) eingefügt habe mit dem
Steuerelementeinhalt =1
und dann "Laufende Summe" über alles eingestellt habe. Auf einem Beleg
stehen
2 Artikel - somit auch Belegnummer 1 + 2 - nàchste A4 Seite dann Beleg
3 + 4 usw.

Nun muß ich aus dem Bericht z.B. den Beleg 10 bis 20 drucken - oder
nur Beleg
10. Also benötige ich in Access per VBA etwas, welches mir die Seiten
gem. Eingabe
Belegnummer druckt. Die Belegnummer ist natürlich das Feld Text1.

Mein Ansatz war :


Private Sub Befehl0_Click()
Dim Von
Dim Bis

Von = Val(InputBox("Druckseite Bon eingeben"))
Bis = Val(InputBox("Druckseite Bis eingeben"))

DoCmd.OpenReport "B_Inventurbeleg", acPreview
DoCmd.PrintOut acPages, Von, Bis

Da jedoch 2 Artikel auf einer A4 Seite stehen, funktioniert das nicht.
Weiter weiss ich nicht wie ich mich beim
Druck auf das Feld Text1 beziehen soll. Wie kann ich den Ausdruck von
bis lösen ?

Danke
Gruß
Albe
 

Lesen sie die antworten

#1 Thomas Möller
10/11/2008 - 17:54 | Warnen spam
Hallo Alwin,

Beck, Alwin schrieb:
ich habe eine Access Anwendung, welche mir Inventurbelege druckt.
Auf einm Beleg stehen Artikeldaten. Jeder Beleg ist numeriert.
Die Numerierung habe ich so gelöst, in dem ich auf dem Bericht
ein Textfeld (Name : Text1) eingefügt habe mit dem Steuerelementeinhalt =1
und dann "Laufende Summe" über alles eingestellt habe. Auf einem Beleg
stehen
2 Artikel - somit auch Belegnummer 1 + 2 - nàchste A4 Seite dann Beleg 3
+ 4 usw.

Nun muß ich aus dem Bericht z.B. den Beleg 10 bis 20 drucken - oder nur
Beleg
10. Also benötige ich in Access per VBA etwas, welches mir die Seiten
gem. Eingabe
Belegnummer druckt. Die Belegnummer ist natürlich das Feld Text1.

Mein Ansatz war :

Private Sub Befehl0_Click()
Dim Von
Dim Bis

Von = Val(InputBox("Druckseite Bon eingeben"))
Bis = Val(InputBox("Druckseite Bis eingeben"))

DoCmd.OpenReport "B_Inventurbeleg", acPreview
DoCmd.PrintOut acPages, Von, Bis

Da jedoch 2 Artikel auf einer A4 Seite stehen, funktioniert das nicht.
Weiter weiss ich nicht wie ich mich beim
Druck auf das Feld Text1 beziehen soll. Wie kann ich den Ausdruck von
bis lösen ?



IMHO musst Du Dir einen Algorithmus basteln, der aus der Belegnummer die
Seitennummer des Berichts ermittelt. Da immer zwei Belege auf jeder
Berichtsseite sind sollte es ausreichen wenn, Du die Belegnummer durch
zwei Teilst und ggfs. aufrundest.
Du so ermittelten Seitenzahlen nimmst Du dann für den Befehl DoCmd.PrintOut

HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen