Tweemaal attest afprinten

Status
Niet open voor verdere reacties.

willyv28

Gebruiker
Lid geworden
16 apr 2009
Berichten
120
In mijn database onderhoud CV heb ik een knop waar ik een individueel reinigingsattest kan printen en daarvoor maak ik gebruik van een query genaamd "Zoek onderhoudsfiche Query" en van deze krijg ik de vraag "Geef installatieadres". Van daaruit vertrekkende print hij het attest af. Maar ik wil hem dit zelfde attest tweemaal laten printen 1 voor de klant en 1 voor ons dossier) en als ik de regel "Docmd ......." tweemaal in de gebeurtenisprocedure plaats dan vraagt hij terug naar het installatieadres, hoe kan ik die vraag de tweedemaal vermijden?
 
Je kunt met het commando PrintOut opgeven hoeveel exemplaren je wilt afdrukken van een rapport. Om dat helemaal netjes te doen, zou je eigenlijk een extra (tijdelijke) printknop op een werkbalk moeten hebben als je het rapport opent, want ik vermoed dat je niet altijd van alle rapporten twee exemplaren wilt afdrukken. De knop moet dus bij dat specifieke rapport worden toegevoegd, en bij sluiten van het rapport verwijderd.
 
De makkelijkste manier is, zoals ik al zei, met het Printout commando. Je opent met een knop op je formulier eerst het rapport, en vervolgens geef je een print commando. Dus iets als:

Code:
DoCmd.SelectObject acReport, "rptZoekOnderhoudsFiche", True 
DoCmd.Printout ,,,,2
 
Ik had graag van uit onderstaande gebeurtenisprocedure 2 x hetzelfde attest laten printen, maar als ik de DoCmd opdracht 2 x laat uitvoeren gaat hij terug naar de Query en stelt de vraag terug "Geef adres installatie" en dat laatste wil ik vermijden.


Private Sub Huidig_attest_CV_printen_Click()
On Error GoTo Err_Huidig_attest_CV_printen_Click

Dim stDocName As String

stDocName = "Attest1"
DoCmd.OpenReport stDocName, acNormal, "Zoek Onderhoudsfiche Query"
DoCmd.OpenReport stDocName, acNormal, "Zoek Onderhoudsfiche Query"


Exit_Huidig_attest_CV_printen_Click:
Exit Sub

Err_Huidig_attest_CV_printen_Click:
MsgBox Err.Description
Resume Exit_Huidig_attest_CV_printen_Click

End Sub
 
Zoals Michel al aangegeven heeft is het commando
Code:
DoCmd.PrintOut , , , ,2

Jou code zou er dus zo uit komen te zien :

Code:
stDocName = "Attest1"
DoCmd.OpenReport stDocName, acNormal, "Zoek Onderhoudsfiche Query"
DoCmd.PrintOut , , , ,2

en om het rapport gelijk weer te sluiten na printen :

Code:
stDocName = "Attest1"
DoCmd.OpenReport stDocName, acNormal, "Zoek Onderhoudsfiche Query"
DoCmd.PrintOut , , , ,2
DoCmd.Close acReport, "attest1"

Je kan het nog mooier maken door een combobox te maken waarin je het aantal te printen rapporten zelf selecteerd (uit een dropdown menu), Waarbij de standaard instelling uiteraard "2" is.

Maar als je altijd twee kopieen wil printen, nooit meer, en nooit minder is dit natuurlijk overbodig.

Groeten : Jeroen

Oh nog een laatste opmerking : als je de CODE knop gebruikt in het forum word je code makkelijker leesbaar.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan