print huidige record meerdere malen

Status
Niet open voor verdere reacties.

mathhex

Nieuwe gebruiker
Lid geworden
26 jul 2016
Berichten
3
Hallo,
Ik gebruik Access 2010 en ik heb een form met daarin een printknop met onderstaande code:

Code:
Private Sub prt2_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 = "[Id] = " & Me.[Id]
        DoCmd.OpenReport "gegevens Report_new", acNormal, , strWhere
    End If
End Sub

Dit werkt verder prima, alleen krijg ik maar 1 kopie, terwijl ik er 10 wil.
Hoe krijg ik dit voor elkaar?

Alvast bedankt :)
 
Laatst bewerkt:
Allereerst welkom bij HelpMij :). Nu je de knop <Bewerken> al gevonden lijkt te hebben, mag je die van mij nog een keer indrukken om de code op te maken met de CODE knop; dat staat een stuk netter. De CODE knop is de knop met het # symbool. Zeker als je langere code gaat plaatsen, houdt dat het bericht leesbaar. Je kunt er een simpele lus onder hangen:
Code:
Dim i As Integer
    If Me.Dirty Then Me.Dirty = False
    If Me.NewRecord Then 'Check there is a record to print
        MsgBox "Select a record to print"
    Else
        For i = 1 To 10
            DoCmd.OpenReport "gegevens Report_new", acNormal, , "[Id] = " & Me.[Id]
        Next i
    End If
 
Bedankt voor de uitleg. Dit is de eerste keer dat ik een forumvraag stel dus ik moet me nog een beetje oriënteren. :)
 
Het is gelukt...
Het was simpeler dan ik dacht.
Gewoon de regel herhalen...

Code:
Private Sub prt2_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 = "[Id] = " & Me.[Id]
        DoCmd.OpenReport "gegevens Report_new", acNormal, , strWhere
        DoCmd.OpenReport "gegevens Report_new", acNormal, , strWhere
        DoCmd.OpenReport "gegevens Report_new", acNormal, , strWhere (enz)
    End If
End Sub
 
Het was simpeler dan ik dacht. Gewoon de regel herhalen...
Heb je mijn code niet gezien, of begrijp je hem niet? Coderegels herhalen is een vorm van heel slecht programmeren; gebruik een loop zoals in mijn voorbeeld. Grote voordeel ook nog eens: je kunt heel simpel de loop aanpassen als dat nodig is, en zelfs variabel maken als je een inputbox gebruikt die om het aantal afdrukken vraagt. Maar doe het dus nooit meer op jouw manier :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan