[MS Access] E-mail sturen + waarde uit veld halen

Pagina: 1
Acties:
  • 137 views sinds 30-01-2008
  • Reageer

  • Millennyum
  • Registratie: Januari 2001
  • Laatst online: 04-05-2023
Ik ben al een tijdje bezig het volgende probleem op te lossen:

Ik heb in een formulier een veld waarin het e-mailadres van een contactpersoon staat. Als je op de knop ernaast klikt, wil ik dat automatisch het standaard e-mailprogramma geopend wordt, met daarin vast het e-mailadres uit de betreffende record ingevuld.

Ik heb twee methodes gevonden om dit te doen:

1) van de knop een hyperlink maken en aangeven dat er een e-mail geopend moet worden bij klikken.
2) in VB het commande SendObject gebruiken.

Maar beide krijg ik niet goed werkend :(

Met methode 1 ben ik zo ver dat in Eudora (mijn default e-mail programma) een mailtje wordt geopend met een e-mailadres dat ik van tevoren handmatig heb ingevoerd. Dat werkt allemaal heel duidelijk. Maar ik kan nergens vinden waar ik moet aangeven dat ik geen adres van tevoren wil opgeven, maar dat hij deze pas bij het klikken op de knop uit een veld moet opvragen. Gewoon iets invullen als "mailto:Forms!Fondsen![E-mail]" in plaats van "mailto:een@adres.nl" werkt niet, want dan wordt er letterlijk als e-mailadres "Forms!Fondsen![E-mail]" ingevuld.

Voor methode 2 gebruik ik de volgende code (let wel: ik ben een absolute VB-n00b):
code:
1
2
3
4
Private Sub Bijschrift80_Click()
emailto = Forms!Fondsen![E-mail]
DoCmd.SendObject , , , emailto, , , , , True
End Sub

Wat er nu gebeurt, is dat Outlook Express wordt opgestart. Maar dat wil ik niet, hij moet het standaard mailprogramma nemen. Ik heb dat Outlook-account niet geconfigureerd, dus kan ook niet controleren of het e-mailadres correct wordt ingevuld.

Wie kan mij helpen om ten minste een van de twee methodes werkend te krijgen? Ik gebruik het liefst zo min mogelijk VB-code.

  • Boss
  • Registratie: September 1999
  • Laatst online: 12:20

Boss

+1 Overgewaardeerd

Je kan proberen of je Eudora kan starten met opstart-parameters. Op die manier zou je een extern programma kunnen laten starten, en het e-mail adres als parameter meegeven zodat er een mailtje wordt gemaakt aan het adres.

Op die manier heb ik het een keer gedaan met Pegasus Mail (PMail). Of je moet Eudora op een of andere manier instellen als standaard e-mail client, maar dat is wel lastig geloof ik.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • Millennyum
  • Registratie: Januari 2001
  • Laatst online: 04-05-2023
Dat zou op zich wel kunnen. Maar het is de bedoeling dat de database door meerdere mensen gebruikt kan worden. En die hebben niet allemaal Eudora, dus ik moet echt uitgaan van het standaard e-mail programma...

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 12:03
Probeer dit eens;
"mailto:" & "Forms!Fondsen![E-mail]" &""

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


  • Millennyum
  • Registratie: Januari 2001
  • Laatst online: 04-05-2023
Nee helaas. Als hyperlinkadres moet je
mailto: [adres]
invullen, dus zonder aanhalingstekens er omheen. Die had ik alleen er omheen gezet om mijn post duidelijker te maken.

Als ik "mailto:" & "Forms!Fondsen![E-mail]" &"" invoer, dan zet Access er automatisch weer mailto: voor (dus zonder haakjes).
Ik heb al diverse varianten geprobeerd, zoals mailto: & "Forms!Fondsen![E-mail]" &"" maar niets wil lukken. Het resultaat is
mailto: & Forms!E-mail![E-mail] --> een lege e-mail
mailto: & "Forms!E-mail![E-mail]"--> foutmelding "het opdrachtregelargument is niet geldig. Controleer de schakeloptie"
mailto: Forms!Fondsen![E-mail] --> een bericht met als adres Forms!Fondsen![E-mail]

Heeft iemand nog andere ideeën? Het lijkt me toch dat er meer mensen zijn die zo'n knop in hun database hebben....?

[edit]
ik heb net het VB-scriptje op mijn werk getest, aangezien Outlook daar wel geconfigureerd is. Met dat scriptje krijg ik inderdaad het goede e-mailadres in de e-mail. Maar nu nog erachter komen hoe ik er voor zorg dat hij het standaard e-mailprogramma neemt ipv altijd Outlook...

[ Voor 22% gewijzigd door Millennyum op 27-08-2004 09:38 ]


  • Force
  • Registratie: Januari 2000
  • Laatst online: 31-07-2023

Force

Kan iemand ff me neus afvegen?

Probeer dit eens;
"'"" & "mailto:" & Forms!Fondsen![E-mail] &"''"

Voor de duidelijkheid, uitvergroting begin en eind: " ' "

Leven is als een pijpkaneel, iedereen zuigt eraan en krijgt zijn deel.


  • Millennyum
  • Registratie: Januari 2001
  • Laatst online: 04-05-2023
Force schreef op 27 augustus 2004 @ 09:36:
Probeer dit eens;
"'"" & "mailto:" & Forms!Fondsen![E-mail] &"''"

Voor de duidelijkheid, uitvergroting begin en eind: " ' "
Access wil gewoon geen aanhalingstekens accepteren. Bij jouw oplossing krijg ik de foutmelding "Unable to open "'"" & ". Cannot open the specified file".

[edit] en als ik het teveel aan haakjes weghaal zegt 'ie "Unable to open "'". Cannot open the specified file". ;)

[ Voor 45% gewijzigd door Millennyum op 27-08-2004 09:43 ]


  • Force
  • Registratie: Januari 2000
  • Laatst online: 31-07-2023

Force

Kan iemand ff me neus afvegen?

Heb er nog even me zitten stoeien, maar direct het adres gebruiken wil inderdaad niet lukken. Als je het email adres in 2 stukken hakt (voor en achter de @) dan lukt het wel.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Sub Knop0_Click()
Dim str_adres As String
Dim naam As String
Dim domein As String
Dim lengte As Integer
Dim teller As Integer

teller = 2

lengte = Len(Me![mailadres])

MsgBox lengte

Do Until teller = lengte + 1
 If Mid$(Me![mailadres], teller, 1) = "@" Then
  MsgBox teller
  naam = Left$(Me![mailadres], teller - 1)
  domein = Right$(Me![mailadres], lengte - teller)
  Exit Do
 End If
 teller = teller + 1
Loop

MsgBox naam
MsgBox domein

Me![adres].HyperlinkAddress = "mailto:" & naam & "@" & domein

End Sub


die msgboxen kunnen er natuurlijk tussenuit, maar zijn wel handig tijdens testen

zal de db wel ff online zetten dan kun je hetzelf ff bekijken.

edit : download database

[ Voor 8% gewijzigd door Force op 27-08-2004 10:51 ]

Leven is als een pijpkaneel, iedereen zuigt eraan en krijgt zijn deel.


  • Millennyum
  • Registratie: Januari 2001
  • Laatst online: 04-05-2023
Force, je bent fantastisch!! _/-\o_ :>

Ik heb je script dusdanig veranderd dat 'adres' vervangen is door 'knop0', zodat je niet na het klikken op de knop ook nog eens op een aparte hyperlink moet klikken om een mailtje te genereren. Alles werkt nu precies zoals ik het wil! Met een voorbehoud: ik zit nu op mijn werk waar Outlook is geïnstalleerd, dus ik moet het thuis nog even met Eudora testen. Maar ik verwacht eigenlijk geen problemen.

Nogmaals bedankt!

  • Force
  • Registratie: Januari 2000
  • Laatst online: 31-07-2023

Force

Kan iemand ff me neus afvegen?

<bloos> :)

Let je er wel op dat dit stukje code geen enkele beveiliging heeft. Het gaat mis als er geen email adres is ingevuld. Of als er wel iets is ingevult maar geen geldig e-mail adres(bv geen @ of geen .nl/com)

[ Voor 3% gewijzigd door Force op 27-08-2004 11:36 ]

Leven is als een pijpkaneel, iedereen zuigt eraan en krijgt zijn deel.


  • Millennyum
  • Registratie: Januari 2001
  • Laatst online: 04-05-2023
Daar ga ik nog wel eens wat op bedenken ja :)
Pagina: 1