Afzonderlijk afdrukken van geselecteerd record in formulier

Status
Niet open voor verdere reacties.

De Vrije Vogel

Gebruiker
Lid geworden
8 apr 2006
Berichten
95
Wie o wie kan mij helpen.
Ik ben al weken op zoek naar een oplossing om records in een formulier afzonderlijk te kunnen printen. Helaas wordt alleen het 1ste geselecteerde record geprint.
Even iets meer uitleg.
Ik vraag met het [SprayID] een bepaald record op. [SprayID] is een Primary Key in de hoofdtabel en een numeriek veld in enkele andere velden.
Als je de gegevens in het formulier [frmPrintMoreApplicatorsPrt]hebt staan kun je met de next en prev toets door de verschillende records lopen.
Echter ga ik de gegevens afdrukken [rptPesticideAP_TSYes], dan wordt steeds het 1ste record afgedrukt.
Wat mis ik.

Private Sub PrtApplicationReport_label_Click()
Dim strWhere As String

If Me.Dirty Then 'Save any edits.
Me.Dirty = False
End If

If Me.NewRecord Then 'Check there is a record to print
MsgBox "Select a record to print"
Else
strWhere = "[SprayID] = " & Me.[SprayID]
DoCmd.OpenReport "rptPesticideAP_TSYes", acViewPreview, , strWhere
End If


End Sub
Alvast bedankt.
 
Zo'n filter zou moeten werken; ik gebruik bijvoorbeeld zelf dit voorbeeld:
Code:
    stFilter = "Factuurnummer=" & Me.Factuurnummer
    DoCmd.OpenReport stDocName, acPreview, , stFilter
En dat werkt feilloos. Heb je met een msgbox al gecheckt of de filterstring wel juist is?
 
Laatst bewerkt:
Hallo Michel,
Bedankt voor je snelle reactie.
Waar koppel je deze code aan?
Als ik deze aan de knop van het rapport koppel krijg ik een compileer fout.
Grtz,
Matt
 
Ik snap je vraag niet helemaal; ik heb de twee regels zelf achter een knop staan, terwijl je zo te zien een aan Click event op een label hebt hangen, maar dat maakt niet zoveel uit: zolang de code maar getriggerd wordt. En dat wordt die van jou toch? Vertel liever wat de uitkomst is van de msgbox...

Code:
    strWhere = "[SprayID] = " & Me.[SprayID]
    msgBox strWhere
    DoCmd.OpenReport "rptPesticideAP_TSYes", acViewPreview, , strWhere
Bedoel je dit?
 
Hi Michel,
Als eerste krijg ik een pop-up waar de SprayID wordt vermeld, daarna wordt het report getoond, maar nog steeds alleen maar het eerste record.
Zie ook de code hoe ik het heb ingevoerd
Code:
Private Sub PrtApplicationReport_label_Click()
    strWhere = "[SprayID] = " & Me.[SprayID]
    MsgBox strWhere
    DoCmd.OpenReport "rptPesticideAP_TSYes", acViewPreview, , strWhere

End Sub
Grtz,
Matt
 
Zonder voorbeeldje kan ik er verder weinig van zeggen; het ligt niet aan de code, want je msgbox geeft de goede filtering. Maak er dus een voorbeeldje van...
 
Hallo Michel,
Eerst een halve dag bezig geweest om het bestand te verkleinen met als uiteindelijk resultaat dat het niet werkte.
Door al de wijzigingen werkte het rapport niet meer naar behoren. Daarom een sub-rapport toegevoegd.
Als ik nu het rapport uit wil printen van een ID wat bestaat uit 3 records, dan krijg ik 3 pagina's.
Alleen op de eerste pagina met Rapportkoptekst, Paginakoptekst, Details en Paginavoetkoptekst. Op de anderen zonder de Rapportkoptekst.
Hoofd- en Subrapport zijn met unieke veld gekoppeld.
Hoe kan ik dat nu weer oplossen?
Ik zou de gegevens welke in de Rapportkoptekst vermeld staan kunnen verplaatsen naar de Paginakoptekst of denk ik nu te simpel.
Ik heb een afdrukvoorbeeld van de eerste pagina van het rapport toegevoegd, evenals de ontwerpmode.
Grtz,
Matt
 

Bijlagen

Hallo Michel,
De wijziging door de Rapportkoptekst weg te halen heeft de oplossing gebracht.:thumb:
Ik krijg nu aparte rapporten, welke ik met een druk op de knop kan afdrukken of apart ingeval van het afdrukvoorbeeld.
Een kleinigheid moet ik nog oplossen. Ik krijg voor het afdrukken de melding welk SprayID het is. Zie bijlage.
Misschien weet jij zo wat hier de oorzaak van is.
Grtz,
Matt
Melding.PNGMelding.PNG
 
D'r zit nog ergens een Msgbox in. Gebruik de zoekfunctie, en gooi de regel weg.
 
Michel bedankt.:thumb:
Opgelost. Was: MsgBox strWhere
Werkt nu perfect.:)
Kan nu de andere reports aanpakken.
Grtz,
Matt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan