Sta ti se cini vise verovatno - da niko ne odgovori na lagano pitanje ili da niko ne odgovori na tesko pitanje ;-)
Naravno da nije lako. Ali za svako pitanje ima kontra pitanje. Zasto ti treba da stampas vise porudzbina odjednom? Obicno se stampa tacno jedna porudzbina, ona koju izaberes i u tom slucaju tvoje brojanje strana radi perfektno. Znaci, probaj da izbegnes stampanje vise od jedna porudzbine ako ikako moze.
Ako ne moze, padaju mi napamet dva resenja. Prvo je da nekako unapred izracunas bros strana po narudzbi, pa da u kodu za svaku novu narudzbu pocnes brojanje od jedan a za Pages koristis tvoj izracunati broj strana za tekucu narudzbinu. Ovo je komplikovano i ne mora da bud uvek tacno. Zavisi od dimenzija papira, onda da li su kontrole u detalju sa aktiviranim CanGrow/CanShrink. Znaci, nemoj to ni da probas, ni za vezbu.
Probaj ovako. Napravi proceduru u nekom od modula, koja ce da otvori rekordset za one porudzbine za koje zelis da stampas izvestaj. onda ides kroz taj rekordset i za svaku novu porudzbinu pozoves tvoj report. Ovako nekako bi isao pseudo kod:
Code:
sub PrintMnogoPorudzbina()
dim rs as recordset
dim varPporudzbinaID as variant 'stavi koraktan data tip
set rs=db.openrecordset("record source za report, 1 rekord po Porudzbini, sa poljem PorudzbinaID WHERE nei uslov po kom biras porudzbine za stampu")
rs.movefirst
do while not rs.eof
varPporudzbinaID = rs!PorudzbinaID
DoCmd.Openreport reportname:="tvojReport",WereCriteria:="PorudzbinaID=" & varPporudzbinaID
rs.movenext
loop
rs.close
end sub
Naravno da ces nekako svojoj proceduri da kazes koje porudzbine zelis da stampas (od, do ili vec nekako). Verujem da neces bas uvek hteti da stampas sve porudzbine. Mozda prvi put, ali posle godinu dana rada firma ce imati stotine porudzbina, zasto bi ih sve stampao bas svaki put?
A mozda je dobro da proveris pre "do while" da nije tvoj rekordset prazan, pa da stavis neku poruku? A i error handling je uvek korisno kad se radi sa rekrdsetima.
:-)