VBA: refereren naar een veld in een rapport

Status
Niet open voor verdere reacties.

tomswaelen

Gebruiker
Lid geworden
8 dec 2004
Berichten
349
Ik heb een code die ik wil gebruiken om een rapport op een bepaalde locatie op te slaan. De bestandsnaam moet komen uit het rapport zelf (of de query waar het rapport op draait), er is een veld in het rapport of de query met de naam 'Bestandsnaam'.

Het rapport 'Dossier' wordt aangeroepen vanuit een formulier, met een knop waar dus deze code achter zit:

Code:
Private Sub Test_Click()

    Dim filePath As String

    filePath = "\\bof_prd\prd.eldo\uplhyp\sv-prs-p99\"

    DoCmd.OutputTo acOutputReport, "Dossier", acFormatPDF, _
    filePath & Dossier.Bestandsnaam & ".pdf"


End Sub

Me.Bestandsnaam werkt ook niet, vermoedelijk omdat het formulier van waaruit ik deze code aanroep, geen veld Bestandsnaam heeft.
 
Laatst bewerkt:
Het veld bestandsnaam van het rapport komt waarschijnlijk uit een onderliggende query/tabel. Als dit veld beschikbaar is in de recordsource van het formulier van waaruit je het rapport start, kan je altijd een onzichtbaar tekstvak op het formulier plaatsen, gelinkt aan dat veld en het van daaruit oproepen in je code.
 
Zonder extra tekstvakken op je formulier:
Code:
Private Sub Test_Click()
Dim FilePath As String, FileName As String
Dim rst As Recordset
Dim var As Variant
 
    Set rst = Me.RecordsetClone
    var = Me.Id
    With rst
        .FindFirst "ID = " & var
        FileName = rst.Fields("Bestandsnaam")
        .Close
    End With
    FilePath = "\\bof_prd\prd.eldo\uplhyp\sv-prs-p99\"
    DoCmd.OutputTo acOutputReport, "Dossier", acFormatPDF, FilePath & Bestandsnaam & ".pdf"

End Sub
 
Die onderste code begrijp ik niet echt, maar het verborgen veld werkt ook prima :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan