Verwijzen naar email in VBA

reneemettrie

Terugkerende gebruiker
Lid geworden
1 aug 2006
Berichten
1.271
Ik beheer een ledenbestand in Access en moet soms een massamailing doen. Maar heb problemen met het veld "Email" (hyperlink).
In een tabel met uit Excel geïmporteerde gegevens wordt een mail geïnterpreteerd als Naam@hotmail.com. Maar een mailadres dat gewoon rechtstreeks in Acces werd ingeptypt wordt geïnterpreteerd als Naam@hotmail.com#mailto: Naam@hotmail.com#

Dat vergt dan een andere code:
Destination = rs!email
of
Destination = Left(rs!email, InStr(rs!email, "#") - 1)
en geeft een probleem als in één tabel de gegevens zowel uit Excel komen, als zelf ingetypt (wat je achteraf niet ziet)

Hoe is dat te verklaren en hoe los ik dat op?
 
Wat is dan precies het probleem?
Je kan toch vaststellen of er (bijvoorbeeld) een # in de string staat? Met de IIF functie kan je dan op de ene manier of op de andere manier het adres ophoesten.
Werkt het verzenden trouwens niet als je het "lange" adres gebruikt?
 
Wat is dan precies het probleem?
Je kan toch vaststellen of er (bijvoorbeeld) een # in de string staat? Met de IIF functie kan je dan op de ene manier of op de andere manier het adres ophoesten.
Werkt het verzenden trouwens niet als je het "lange" adres gebruikt?
Accoord met die iif, maar ik begrijp eigenlijk niet waarom een gegeven uit Excel anders wordt geïnterpreteerd dan iets wat je zelf intypte. En neen, het lange adres werkt niet.
 
Maar een mailadres dat gewoon rechtstreeks in Acces werd ingeptypt wordt geïnterpreteerd als Naam@hotmail.com#mailto: Naam@hotmail.com#

Hoe is dat te verklaren en hoe los ik dat op?
Peter verklaart niks en geeft ook geen (nuttige) oplossing, dus zal ik het maar doen. En je tegelijkertijd de juiste werkwijze aanreiken.

Je hebt het veld ingericht als een Hyperlinkveld. Daarom krijg je bij intypen het volledige adres ‘erbij’. Het voordeel van zo’n veld is, dat je er gelijk op kan klikken. Het nadeel: je krijgt discrepanties als je ook data importeert.

De oplossing is heel simpel: gebruik dit veldtype nooit. Hou het gewoon op het type Tekstveld, en gebruik, als je wilt dat gebruikers er toch gelijk mee kunnen mailen, bijvoorbeeld de gebeurtenis <Bij dubbelklikken> om een mail te genereren met de opdracht FollowHyperlink. Werkt perfect. En, omdat je alleen het e-mailadres gebruikt, kun je de waarde uit het veld dus ook gewoon in VBA gebruiken.

En nog wat: kijk hoe jíj het Citeren knopje gebruikt (volslagen overbodig om het hele bericht te quoten gelijk na een antwoord) en ik (twee noodzakelijke regeltjes uit een hoger staand bericht). En trekmdaar je lessen uit; je zit immers niet voor niets in het cursusgebeuren ;).
 
Octafish, bedankt voor de oplossing, had ook al ergens in die richting gedacht.
Wat dat citeren betreft, daar zit ik altijd mee in de knoop. Hoe geef je aan op wie je antwoordt?
 
Gewoon gaan typen in het tekstvak. Het is volslagen duidelijk dat jouw bericht slaat op het bericht ervoor. Tenzij je, zoals in mijn voorbeeld, terug wilt/moet grijpen op een berichtje dat wat eerder in de tijdlijn zit. En dan nog: het is echt niet nodig om het complete bericht te citeren, want dat staat al overduidelijk, en veel beter leesbaar, er gewoon boven. Dus dan haal jemalle tekst weg die in de quoot niet terzake doet. Dit alles om de leesbaarheid van het draadje zo hoog mogelijk te houden.

Als je tóch duidelijk wilt maken dat je op een specifiek persoon reageert, zet diens naam er dan voor als “@ xps351” (maar dan zonder quoots en spatie, je ziet dan: @xps351) dan weet iedereen dat je een reactie hebt op een bepaalde helper.
 
Terug
Bovenaan Onderaan