Meer bijlagen mailen vanuit MS Access: Query in Database en 2 PDF op de C:\

Status
Niet open voor verdere reacties.

Talbisaf

Nieuwe gebruiker
Lid geworden
20 jul 2019
Berichten
3
Beste mensen,
Ik ben nieuwe op deze forum en ik ben 'amateur' in VBA access :D. Zou iemand mij wil helpen met onderstaande probleem? Alvast bedankt.
Mijn database access heet: DBbeheer
Mijn Tabellen zijn: T_klant en T_Fonds
Mijn Query heet: Q_Fonds
Mijn formulier heet: F_klant. Op deze formulier heb ik een lijst(dropdown menu) waarin ik de klanten kan kiezen. De lijst heet 'ZL'. Bron van de gegevens van deze lijst is T_Klant. Als ik een klant kies in de lijst dan genereert de query Q_Fonds alleen de gegevens van deze klant.

Ik heb 2 pdf bijlagen op de C:\ schijf namelijk 'Retour.pdf' en 'Heen.pdf'

Ik wil als ik een klant kies in de dropdown menu(ZL) dat een e-mail wordt geopend met de volgende 3 bijlagen:
- Retour.pdf
- Heen.pdf
- Q_Fonds in Excel format

De volgende code werkt goed voor Pdf bijlagen maar hoe kan ik de Q_Fonds als Excel bijlage toevoegen? Ik hoor graag van jullie.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Private Sub Command48_Click()
Set oApp = CreateObject("Outlook.Application")
Set oMail = oApp.createitem(olmailitem)

With oMail
.To = ""
.Subject = "XXX"
.Body = "XXXX"

.Attachments.Add "C:\Retour.pdf", olByValue, 1
.Attachments.Add "C:\heen.pdf", olByValue, 1
.Display True

End With
End Sub

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 
Laatst bewerkt:
Hallo,

de attachments.Add methode kan alleen bestaande bestanden toevoegen. Dus er zijn 2 opties :
1) Je kan met de resultaat recordset van de query Q_Fonds een string opbouwen die je dan in de body van de e-mail zet.
2) je kan via de docmd.outputTo of Docmd.TransferSpreadsheet een excel (je kan ook TransferText gebruiken als je liever een tekst bestand hebt) het query resultaat in een bestand opslaan, en dit bestand als derde attachment toevoegeN Naderhand kan je, indien gewenst, bv. via het Scripting.FileSystemObject dit bestand terug verwijderen.

Vriendelijke groeten
Noëlla
 
Dag Noëlla,
bedankt voor je snelle reactie. Bovenvermeld oplossingen zijn moeilijk voor mij.
onderstaande code stuurt wel Q_Fonds als Excel bijlage maar ik wil graag die twee pdf bestanden erbij.
met andere woorden de eerste code stuurt alleen pdf bijlagen(bestaande bestanden). onderstaande code stuurt alleen Q_fonds als bijlage. kan onderstaande code aangepast worden om de pdf bestanden mee te nemen? ik hoor graag van je.

Function macro()
DoCmd.SendObject acQuery, "Q_Fonds","Excel97-Excel2003Workbook(*.xls)","","CC tekst"," ","onderwerptekst","body tekst", True,""
macro_exit:
Exit Function
macro_err:
MsgBox Error$
Resume macro_exit
End Function
 
Laatst bewerkt:
Hallo Talbisaf,

het is gemakkelijke om je VBA code aan te passen denk ik. Ik zie dat je het query resultaat opstuurt als excel, dus zou ik een map aanmaken waarin je de Excel file opslaat.
Pas de code dan op de volgende manier aan:

Code:
Private Sub Command48_Click()
'Maak eerst een excel bestand aan met het query resultaat
DoCmd.OutputTo acOutputQuery, "Q_Fonds",acFormatXLSX,"C:\MijnLocatie\Bestandsnaam" ,false
Set oApp = CreateObject("Outlook.Application")
Set oMail = oApp.createitem(olmailitem)

With oMail
.To = ""
.Subject = "XXX"
.Body = "XXXX"

.Attachments.Add "C:\Retour.pdf", olByValue, 1
.Attachments.Add "C:\heen.pdf", olByValue, 1
.Attachments.Add "C:\MijnLocatie\Bestandsnaam"
.Display True

End With
End Sub

Op deze manier creëer je een bestand dat je vervolgens als derde attachment meestuurt.

Vriendelijke groeten
Noëlla
 
Hoi Noella,
jij bent een talent! bedankt. ik krijg nu 3 bestanden in de mail. Veel dank voor je hulp.
mvg
Talbisaf
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan