vanuit rapport meerdere PDF's aanmaken

Status
Niet open voor verdere reacties.

AdvB

Gebruiker
Lid geworden
1 jul 2021
Berichten
48
In applicatie worden de verhuurde artikelen bijgehouden.
per maand worden deze artikelen gefactureerd.

ik krijg het voor elkaar om dat dan allemaal in rapport op te nemen met dagen verhuur voor betreffende facturatieperiode.
dat document zou de basis moeten zijn voor de facturatie in ander systeem.

Het liefst zou ik willen dat access geautomatiseerd per klant een pdf aanmaakt die dan later als bijlage bij factuur meegestuurd kan worden.
is dat mogelijk, om namen uniek te maken zou systeem de [organisatienaam] en [startdatum rapport] kunnen samenvoegen.

is mijn wens uberhaupt mogelijk ?

Als dat niet kan is dan logische oplossing om een rapport per klant op te roepen en dat dan handmatig te exporteren als PDF ?

Alvast weer bedankt en zoals eerder gezegd zonder jullie kan ik niet maken wat ik wil.

Groet,

Ad
 
is dat mogelijk, om namen uniek te maken zou systeem de [organisatienaam] en [startdatum rapport] kunnen samenvoegen.
Ja, dat is goed te doen. IK gebruik daarvoor een functie die voor elke klant het rapport aanroept/filtert en daar een pdf voor maakt.
 
Is dat dan in VB of is dat gebruik maken van de standaard functies (zoals macro's) ?
 
Een macro is geen standaardfunctie. Dus 'standaard' kun je vergeten. Sowieso is een uitgebreide procedure niet te maken (althans: niet door mij) in een macro, maar vrij simpel in een VBA procedure. Dus dat is het antwoord :).
 
zou je de basis van die VBA Procedure willen delen ?
 
Hoe verder, post jij dat hier in t forum of wil je dat mij mailen ??
 
Hi,

terwijl je op het voorbeeld van AccessGuru wacht, hier alvast een voorbeeld dat ik (lang geleden) ooit gebruikte voor een mailing van een sportclub. Het opzet was: kies de clubs naar wie je de rapporten wou sturen, verzend een mail met pdf in attachment en registreer het feit dat de mail verzonden was in een mailtabel.
het hier geplaatste code deel is het binnenste deel van een loop die alle records van de geselecteerde clubs doorliep en de mails aanmaakte en verzond:

Code:
                strFile = objMailing.MailLoc & "\Club" & strClubnummer & strR & Format(Now, "YYYYMMDD_hms") & ".pdf"
                DoCmd.OutputTo acOutputReport, strR & "_PDF", acFormatPDF, strFile, False
                'als een e-mail adres: creer de mail
                strMailadres = Nz(DLookup("clubEmail", "tblClubs", "clubID = " & Nz(!wafEntiteitsID, 0)))
                If Len(strMailadres) > 0 Then
                    fMailCreated = objMailing.SendMailMessage(strMailadres, strS, objMailing.MailTekst, strFile)
                    If fMailCreated Then ' creeer een record in tabel mailing
                        lngMailID = objMailing.CreateMailRecord("C", !wafEntiteitsID, strMailadres, False, strR)
                        'verwijder nu de pdf die gezonden is
                        fFileDeleted = objMailing.DeleteStoredFile(strFile)
                        intC = intC + 1
                    End If
                End If

De code om de mail effectief te verzenden is in een aparte klasse module verzameld. Dit is het stuk dat de mail effectief verzend:

Code:
Public Function SendMailMessage(strTo As String, strSubject As String, strBody As String, strFile As String) As Boolean
On Error GoTo Err_SendMailMessage

    Dim appOutlook As New Outlook.Application
    Dim msg As Outlook.MailItem
    Dim intpos As Integer
    
    Set msg = appOutlook.CreateItem(olMailItem)
    msg.To = strTo
    msg.Subject = strSubject
    msg.Body = strBody
    msg.Attachments.Add (strFile)
SendMessageNow:
    msg.Send
    
    SendMailMessage = True

Exit_SendMailMessage:
    Exit Function
    
Err_SendMailMessage:
    If Err.Number = -2147467259 Then 'Outlook doesn't recognize the adress
        intpos = InStr(1, strTo, "#")
        If intpos > 1 Then
            strTo = Left(strTo, intpos - 1)
            msg.To = strTo
            Resume SendMessageNow
        End If
    End If
    SendMailMessage = False
    Resume Exit_SendMailMessage

End Function

De code is natuurlijk niet compleet, maar kan je op weg zetten

succes
Noëlla
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan