2 mail bijlages versturen vanuit acces

Status
Niet open voor verdere reacties.

on8gt

Gebruiker
Lid geworden
30 dec 2014
Berichten
16
Allen

Ik heb een probleem, ik verstuur facturen per mail vanuit access.
Dat werkt prima maar nu wil ik als bijlage ook verkoopsvoorwaarden bijvoegen ( een extra pdf bestand als bijlage)
Zoals onderstaand beeld zou het moeten worden
bijlagen.PNG

dit is het nu
zoals nu.PNG

ijn huidige code heb ik zo gemaakt

Private Sub Knop55_Click()

Dim strToWhom As String
Dim strnr As String
Dim strbody As String
strbody = "Geachte, Bijgevoegd factuur"

strToWhom = (Forms![hoofd]![KL-EMAIL])

strnr = ("Factuur " & Forms![hoofd]![faktuurnr] & " verzonden op " & Date)
DoCmd.OpenReport "q fakturen basis", acViewPreview, "", "", acNormal

DoCmd.SendObject acReport, "q fakturen basis", "PDFFormat(*.pdf)", strToWhom, "", "", strnr, strbody, True, ""
DoCmd.Close

Maar met docmd kan ik geen 2 bijlages versturen en mijn kennis van vba is vrij beperkt, kan iemand mij helpen?

Gr Geert
 
Voor meer dan 1 bijlage zal je naar mijn mening Outlook moeten gebruiken.
 
Bovendien zijn je verkoopvoorwaarden geen resultaat van een Datatransactie vanuit een tabel/query, zoals je factuur wel is. Je zult inderdaad een Outlook sessie moeten openen, en daar de mail in moeten maken en versturen. Krijg je zoiets:
Code:
Private Sub cmdMailVerzenden_Click()
''Dim appOutLook As Outlook.Application
''Dim MailOutLook As Outlook.MailItem
Dim appOutLook As Object
Dim MailOutLook As Object

    ''Set appOutLook = New Outlook.Application
    ''Set MailOutLook = appOutLook.CreateItem(olMailItem)
    Set appOutLook = CreateObject("Outlook.Application")
    Set MailOutLook = appOutLook.CreateItem(0)
    
    With MailOutLook
        .BodyFormat = olFormatRichText
        .To = Me.[KL-EMAIL]
        .Subject = "Factuur " & Me.faktuurnr & " verzonden op " & Date
        .HTMLBody = "Geachte, Bijgevoegd factuur"
        .Attachments.Add CurrentProject.Path & "\Facturen\" & "Factuur " & Me.faktuurnr & ".pdf"
        .Attachments.Add CurrentProject.Path & "\Facturen\Verkoopvoorwaarden.pdf"
        '.DeleteAfterSubmit = True   'This would let Outlook send the note without storing it in your sent bin
        .Send
        ''.View Gebruik View als je de mail eerst wil zien op het scherm
    End With
    MsgBox "Er is een mail gestuurd naar " & Me.Email_Address & " met " & iTeller & " bijlagen."
    Exit Sub

email_error:
    MsgBox "An error was encountered." & vbCrLf & "The error message is: " & Err.Description

End Sub

Je moet wel eerst nog de pdf opslaan (exporteren dus) als PDF, anders kan je hem niet mailen. In de code zie je twee technieken: Late Binding (actief) en Early Binding (nu commentaar). De eerste werkt altijd, ongeacht de Office versies. Voor de tweede heb je de goede bibliotheken nodig die geladen moeten zijn.
 
nog een beetje hulp

Ik ben de code aan het testen maar het loopt nog vast

vastlopen.PNG

Mijn verkoopsvoorwaarden staan als pdf opgeslagen op mijn "netwerkschijf" \\NETWERKSCHIJF\backup\Backuppr\facturatie\Verkoopsvoorwaarden

Waarschijnlijk is er nog een syntaxfout maar mijn kennis is echt beperkt.

Alvast bedankt voor alle moeite
 
Ik ben de code aan het testen maar het loopt nog vast
Bekijk bijlage 308173Mijn verkoopsvoorwaarden staan als pdf opgeslagen op mijn "netwerkschijf" \\NETWERKSCHIJF\backup\Backuppr\facturatie\Verkoopsvoorwaarden
Staat in het plaatje geen ander pad? Daar waar ie geel is... toch?
Of is dat wel juist een ander pad?
 
Laatst bewerkt:
Beste,

Hij loopt reeds vast waar hij factuur moet verzenden(q fakturen basis)
ik denk dat daar een foutje zit
 
En welke melding krijg je daar dan bij?
Wat zegt 'ie als je, terwijl die regel geel is, op de F8 toets drukt?
 
Dat lijkt me dan duidelijk.
 
Dat begrijp ik, maar ik weet niet hoe ik het juiste pad moet schrijven


.Attachments.Add CurrentProject.Path & " Forms![hoofd]![faktuurnr] " & Me.faktuurnr & ".pdf"
Dit werkt ook niet, zoals gezegd mijn kennis is beperkt.

Gr Geert
 
En de vraag van Octafish?
Als je de PDF al hebt gemaakt gebruik je hetzelfde pad.
 
Dag octafish

Bedankt alvast

Bij De "docmd" moest ik eerst een preview maken

DoCmd.OpenReport "q fakturen basis", acViewPreview, "", "", acNormal

Misschien moet dit nu ook?
 
Nou, het ligt wel wat ingewikkelder vrees ik. Om te beginnen: je moet het rapport dus exporteren. Gebruik je een gefilterde query, dan is dat simpel.
Het is maar één regeltje code. In jouw geval zou dat dit kunnen zijn:
Code:
DoCmd.OutputTo acOutputQuery, "q fakturen basis", acFormatPDF, CurrentProject.Path & "\Factuurnr " & Me.faktuurnr & ".pdf", False

En vervolgens kun je de opgeslagen pdf dus weer in de attachment hangen.
 
Private Sub Knop143_Click()
''Dim appOutLook As Outlook.Application
''Dim MailOutLook As Outlook.MailItem
Dim appOutLook As Object
Dim MailOutLook As Object

''Set appOutLook = New Outlook.Application
''Set MailOutLook = appOutLook.CreateItem(olMailItem)
Set appOutLook = CreateObject("Outlook.Application")
Set MailOutLook = appOutLook.CreateItem(0)

With MailOutLook

.To = Me.[KL-EMAIL]
.Subject = "Factuur " & Me.faktuurnr & " verzonden op " & Date
.HTMLBody = "Geachte, Bijgevoegd factuur"

DoCmd.OpenReport "q fakturen basis", acViewPreview, "", "", acNormal


tot hier krijg ik mijn afdrukvoorbeeld van de factuur.

Bij deze lijn zegt hij typen komen niet overeen.

.Attachments.Add CurrentProject.Path & "q fakturen basis", "PDFFormat(*.pdf)"
 
vastlopen2.PNG

.Attachments.Add CurrentProject.Path & "q fakturen basis", "PDFFormat(*.pdf)"

probleem, typen komen niet met elkaar overeen
 
Dat snap ik best; vergelijk jouw voorbeeld maar eens met de mijne. Er zitten in één regel code 3 fouten :).
 
Volg OctaFish aanwijzingen eerst maar eens strikt op...
En ... aanvullend (als je toch nog meer wilt weten) ... met de deelcode die goed zijn Google je gewoon , vaak hebben anderen daar ook mee gestoeid...
Uit hun verschillende voorbeelden ga je uiteindelijk vast wel snappen hoe die code nu echt werkt...anders ben je compleet over geleverd op afstand werken met goed bedoelde zaken van ons....
Maak ook meer gebruik van de foutmeldingen... je ziet.. De melding "Het pad bestaat niet of is onjuist" kwam dus niet als een verrassing...
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan