Zie ook elders op deze site:
| PCMenu | Access Tips en trucs | Programmavoorbeelden Access |
Hebt u een vraag over Access, Outlook of Word, stel deze dan op een van de forums, bijvoorbeeld http://office.webforums.nl
In deze tekst:
|
Zie ook op andere sites:
|
U kunt vanuit Access rechtstreeks e-mail verzenden. Hiervoor zijn verschillende mogelijkheden, ieder met voor- en nadelen. Hieronder staan enkele methodes beschreven.
Voordeel: Deze methode is een snelle manier om een mailbericht-venster te openen. Het werkt altijd, ook wanneer de Access-gebruiker een afwijkend e-mail programa gebruikt.
Nadeel: in de tekst van het bericht worden nieuwe regels genegeerd en de tekst mag maximaal 180 tekens lang zijn, inclusief de genegeerde tekens.
In uw programmacode hebt de variabelen strRecipient (e-mail adres van de ontvanger), strSubject (het onderwerp) en varBody (de tekst) benoemd. Bijvoorbeeld: op uw formulier hebt u een veld txtEmail_adres en een knop cmdMailto. In de programmacode van de Gebeurtenis Bij klikken van de knop cmdMailto wijst u als volgt de waarde van dit veld toe aan de variabel strRecipient:
Dim strRecipient As String
strRecipient = Me.txtEmailadres
Op vergelijkbare wijze vult u de variabelen strSubject en varBody in. Verderop in de programmacode van deze knop zet u de regel:
cmdMailto.Hyperlink.Address = "mailto:" & strRecipient & "?SUBJECT=" & strSubject & "&BODY=" & varBody
Voordeel: Ook deze methode is een snelle manier om een mailbericht-venster te openen en werkt ook wanneer de Access-gebruiker een afwijkend e-mail programa gebruikt. U kunt nu wel langere teksten versturen.
Nadeel: Om onbekende redenen werkt deze opdracht in Access 2000 altijd maar één keer. Wilt u nogmaals een bericht op deze manier verzenden, dan moet u het programma eerst afsluiten en dan weer opnieuw openen. In Access 2002 en hoger ondervindt u hier geen problemen mee.
DoCmd.SendObject , , , strRecipient, , , strSubject, varBody, True
De True op het einde van deze regel geeft aan dat u het bericht nog kunt wijzigen (EditMessage), voordat het verzonden wordt. Als u deze waarde op False zet, wordt uw bericht direct verzonden. Wanneer u Outlook gebruikt als e-mail verzend programma, kan het zijn dat Outlook in dat geval een venster weergeeft waarin u pas na vijf seconde op een knop Ja mag klikken. Outlook voorkomt hiermee dat programma's die met een virus besmet zijn, buiten uw goedkeuring ongewenst e-mail verzenden.
Op uw formulier of elders in uw programmacode hebt de variabelen strRecipient (e-mail adres van de ontvanger), strSubject (het onderwerp) en varBody (de tekst) benoemd.
U maakt een knop aan en zet de hier genoemde code in de Gebeurtenisprocedure van de Gebeurtenis Bij klikken
Voordeel: Deze methode is de beste methode als de Access-gebruiker ook Outlook 2000 of XP op zijn of haar systeem heeft staan. U kunt lange teksten en ook bijlagen versturen.
Nadeel: Deze methode is niet geschikt voor Access 97 en niet geschikt wanneer u de Access-gebruiker geen Outlook op de pc heeft geïnstalleerd.
Zie ook de bron van dit voorbeeld op de site van Microsoft: http://support.microsoft.com/default.aspx?scid=kb;nl;209948
Voor deze methode moet u de Verwijzing naar Outlook in het Access-programma geactiveerd hebben:| Open een module. U bent nu in het venster van de Visual Basic editor. | |
| Klik op Extra >> Verwijzingen. | |
| Selecteer in het vak Verwijzingen de optie Microsoft Outlook 9.0 objectbibliotheek en klik op OK. Als de objectbibliotheek van Microsoft Outlook 9.0 niet wordt weergegeven in het vak Beschikbare verwijzingen, zoekt u op de vaste schijf naar het bestand Msoutl9.olb. Als u dit bestand niet kunt vinden, moet u het installatieprogramma van Microsoft Outlook uitvoeren om het bestand te installeren voordat u doorgaat met dit voorbeeld. |
Sub SendMessage(strRecipient As String, strSubject As String, varBody As Variant, Optional strCC As String, Optional AttachmentPath)
On Error GoTo Err_subSendMessage
If Not (varBody > " ") Then
MsgBox "Geef de tekst op voor het e-mail bericht."
Exit Sub
End IfDim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Dim objOutlookAttach As Outlook.Attachment
' Maak de Outlook-sessie.
Set objOutlook = CreateObject("Outlook.Application")
' Maak het bericht.
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
' Voeg de geadresseerden voor het vak Aan toe aan het bericht.
Set objOutlookRecip = .Recipients.Add(strRecipient)
objOutlookRecip.Type = olTo
' Voeg de geadresseerden voor het vak CC toe aan het bericht.
If strCC > " " Then
Set objOutlookRecip = .Recipients.Add(strCC)
objOutlookRecip.Type = olCC
End If
' Stel het onderwerp, de berichttekst en de urgentie voor het bericht in.
.Subject = strSubject
.Body = varBody< /FONT >'Stel eventueel in dat het bericht urgent is (hier uitgezet)
'.Importance = olImportanceHigh 'Hoge urgentie
' Voeg bijlagen toe aan het bericht.
If Not IsMissing(AttachmentPath) Then
Set objOutlookAttach = .Attachments.Add(AttachmentPath)
End If
' Zet de naam van elke geadresseerde om.
For Each objOutlookRecip In .Recipients
objOutlookRecip.Resolve
If Not objOutlookRecip.Resolve Then
objOutlookMsg.Display
End If
Next'Verstuur het e-mail bericht
.Send
End With
Set objOutlookMsg = Nothing
Set objOutlook = Nothing < /FONT >Exit_subSendMessage:
Exit SubErr_subSendMessage:
MsgBox Error
Resume Exit_subSendMessageEnd Sub
Op uw formulier of elders in uw programmacode hebt de variabelen strAdres (e-mail adres van de ontvanger, type String), strOnderwerp (het onderwerp, type String) en varTekst (de tekst, type Variant) benoemd. Eventueel kunt u ook strCC (kopie naar, type String) en strbijlage (het pad van een als bijlage mee te zenden bestand, type String) benoemen.
U maakt een knop aan met de naam cmdMailto en zet de volgende code in de Gebeurtenisprocedure van de Gebeurtenis Bij klikken:
SendMessage strAdres, strOderwerp, varTekst
Als u ook een CC-adres en een bijlage hebt:
SendMessage strAdres, strOderwerp, varTekst, strCc, strBijlage
Als u veel mails wilt versturen, bijvoorbeeld een nieuwsbrief, dan kunt u beter Word gebruiken om de mail op te stellen en hierbij de de Access-tabel als gegevensbron (adressenbestand) gebruiken. In Word kunt u de mail ook personificeren (persoonlijke gegevens opnemen in de mail), waarbij u ook deze gegevens uit de Access-tabel haalt.
In plaats van een Access-tabel kunt u ook bijvoorbeeld een Excel-werkblad of een tabel in Word of een webpagina met een tabel gebruiken. Als u Excel als adressenbestand gebruikt, moeten de adresgegevens in één rij staan en moeten in de eerste rij de titels van elk veld staan.
Als u voor het adressenbestand geen tabel maar een query in Access wilt gebruiken, dan mag deze query geen functies bevatten (velden die berekend worden door programmacode in een module), in de Criteria geen verwijzingen naar formuliervelden of dergelijke hebben en ook geen cirteria hebben die u tijdens het oproepen van de query moet invullen. Deze query's zult u niet zien in Word als u de Access database als bron wilt gebruiken. U kunt uw query vereenvoudigen om alsnog alle records te laten zien, waarna u in Word vervolgens een filter kunt instellen voor de records die u gebruiken wilt voor het samenvoegen.
In Word 2002/XP en 2003 kunt u de klassieke Werkbalk gebruiken zoals deze in Word 2000 bekend was (zie Extra > Brieven en verzendlijsten > Werkbalk Afdruk samenvoegen weergeven), of u kunt de mailberichten samenvoegen met het adressenbestand door het doorlopen van een zestal Stappen. Dit laatste werkt vaak makkelijker. U doorloopt de zes stappen als volgt:
NB: vanaf stap 2 kunt u er steeds voor kiezen om een stap terug te gaan, klik rechts onderaan op Vorige: ...
- Open in Word de brief die u als mail wilt verzenden, of maak een nieuw bericht..
- Kies in de Menubalk voor Extra > Brieven en verzendlijsten > Afdruk samenvoegen.
- Klik in de rechter kolom die nu verschijnt op E-mailberichten en dan (onderaan) op Volgende: Begindocument.
- Klik op Het huidige document gebruiken.
- Klik rechts onderaan op Volgende: Adressen selecteren.
- Klik nu op Een bestaande lijst gebruiken en dan op Bladeren.
- Kies in de keuzelijst Bestandstype (onderaan) Alle bestanden (*.*) of Access databases (*.mdb of *.mde).
- Zoek de Access database op en klik op Openen.
- Kies de tabel of query waar de gegevens in staan en klik op OK.
- U kunt nu desgewenst de tabel sorteren op een of meer kolommen.
- U kunt nu ook records selecteren die u wilt gebruiken. Standaard zijn alle records aangevinkt.
- Klik op OK.
- U komt nu weer terug in Word en kunt eventueel de Adressenlijst bewerken.
- Klik nu onderaan op Volgende: Een e-mail schrijven.
- U kunt nu eventueel nog uw e-mailbericht aanpassen. U kunt in uw bericht ook externe bestanden invoegen, zoals een afbeelding of een PDF-document.
Velden koppelen:
- U kunt eventueel een van de voorgedefinieerde kopjes Adresblok.. ed. in uw brief plaatsen OF/EN
- U kunt handmatig een veld uit de adressentabel plaatsen in uw brief: Klik in het e-mailbericht op de plaats waar u een naam, adres of ander veld wilt vullen en klik in de rechter balk op Meer items. Kies nu het item dat u op die plek in de brief wilt hebben.
- Sla het e-mailbericht nu eerst op met Ctrl+S, eventueel onder een andere naam.
- Klik rechts onderaan op Volgende: E-mailvoorbeeld.
- Klik op de knoppen << en >> om te zien hoe het samengevoegde e-mailbericht er uit ziet.
- U kunt eventueel nog de Adressenlijst bewerken of adressen uitsluiten op basis van een door u te definiëren filter.
- Klik nu rechts onderaan op Volgende: Samenvatting voltooien.
- U kunt nu het samenvoegen uitvoeren en de mails versturen, klik op Samenvoegen: Eletronische post.
- U ziet nu een venster waarin u het veld Aan kunt invullen. Klik op de pijl rechts in dit veld en kies het veld uit de tabel waarin e-mailadres staat.
- Vul een korte tekst in bij het veld Ondewerpregel.
- Kies de gewenste e-mail indeling. Als uw bericht plaatjes en/of opgemaakte tekst bevat, kies dan voor HTML. Bestaat uw bericht alleen uit tekst, dan kunt u ook kiezen voor de E-mailindeling Tekst zonder opmaak. Wilt u de brief als bijlage verzenden (het tekstveld van uw bericht blijft dan leeg), kies dan voor de e-mailindeling Bijlage.
Microsoft Word gebruikt Outlook om de mail te verzenden en plaatst een kopie van de verzonden berichten in de map Verzonden items.