Avatar billede xzaboo Praktikant
24. august 2006 - 12:41 Der er 7 kommentarer og
1 løsning

Email til flere kunder

Hej..

Jeg har en fortløbende formular "frmKunder", og på denne er alle mine kunder sat op, og en af oplysningerne man kan indtaste for en kunde, er kundens email.

Nu er det sådan, at jeg godt kunne tænke mig at sende en email til alle kunder, hvor email feltet er udfyldt, og emailen skal sendes via outlook.. jeg har herinde på Eksperten.dk fundet mig frem til at hvis jeg skal sende en email til én person, så skal koden være:

Private Sub Email_Click()
Dim strInput As String
  strInput = "mailto:" & Me.Email
  Application.FollowHyperlink strInput
End Sub

Men hvis jeg skal kunne bruge denne, så skal jeg finde ud af hvordan jeg samler alle kundernes emailadresser til en streng, separeret med ;
eks: mail1@mail1.dk;mail2@mail2.dk;... osv

Der skal alså være en kommandoknap på min formular, som ved klik åbner "Ny Email"-vindue i Outlook, og hvori den har indsat alle kundernes emailadresser som modtager, i en og samme mail, da den jo helst ikke skal åbne flere hundrede nye vinduer op.

Feltet hvor en kundes email står i, hedder forresten "KundeEmail", og er af datatypen "tekst"

På forhånd tak :)

Mvh
Steffen Ernesto Kristensen
Avatar billede mugs Novice
24. august 2006 - 12:52 #1
Det er omstændigt at forklare, men jeg har en lille testdb der gør det du ønsker. Blot læg din e-mail.

Jeg er nok væk fra maskinen en halv times tid.
Avatar billede -anders- Juniormester
24. august 2006 - 14:16 #2
Hej, som mugs er inde på kan det være lidt omstændigt at forklare, men jeg vil da gerne prøve:

Opret en forspørgsel og navngiv den Qsendmail, medtag emailfeltet fra din tabel i kriteriefeltet skriver du Is Not Null, dette kriterier vil så returnere poster hvor der er angivet emialadresser, og kun disse.

Ved OnClick eventen på din knap skriver du:

Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim varOutput As Variant
Dim strQuery As String
Dim strEmail As String

Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset

    strQuery = "SELECT * From Qsendmail"
    rst.Open strQuery, cnn, adOpenStatic, adLockReadOnly, adCmdText
    varOutput = rst.GetString(, , , ";")
    strEmail = "mailto:" & varOutput
    Application.FollowHyperlink strEmail

rst.Close
cnn.Close

Metoden er stensikker da din datakilde (Qsendmail)aldrig vil indehode Null i feltet KundeEmail.

Du behøver ikke at angive nogle reff.
Avatar billede -anders- Juniormester
24. august 2006 - 14:23 #3
Tip:
Hvis du opretter ovenstående som en funktion i et modul, kan du anvende det hvor som helst i DB, du behøver slet ikke at have din fortløbende form åbnet.

Function SendMail()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim varOutput As Variant
Dim strQuery As String
Dim strEmail As String

Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset

    strQuery = "SELECT * From Qsendmail"
    rst.Open strQuery, cnn, adOpenStatic, adLockReadOnly, adCmdText
    varOutput = rst.GetString(, , , ";")
    strEmail = "mailto:" & varOutput
    Application.FollowHyperlink strEmail

rst.Close
cnn.Close

End Function

På en hvilken som helst knap på en given formular sakl du blot skrive:

Call SendMail
Avatar billede -anders- Juniormester
24. august 2006 - 14:42 #4
Forresten hvis du vil undgå at oprette en førspørgsel til formålet kan du angive kriteriet Is Not Null direkte i ovennævnte Select:

strQuery = "SELECT * From NavnPåDinTabel WHERE [KundeEmail]Is Not Null"
Avatar billede xzaboo Praktikant
25. august 2006 - 11:33 #5
Puha.. Det var godt nok smart :)

tak for en virkelig god forklaring -anders- ;D

Den virker perfekt :)

God weekend gutter..
Avatar billede mugs Novice
25. august 2006 - 11:54 #6
Tak - I lige måde ;o)
Avatar billede -anders- Juniormester
25. august 2006 - 11:58 #7
Selv tak og tak for point :o)
Avatar billede xzaboo Praktikant
21. oktober 2008 - 17:09 #8
Hej igen..
Personen som bruger denne funktion har vøret utroligt glad for den, og er blevet ret så afhængig af den, men har nu skiftet computer, hvor der ligger Windows Vista, og nu fungere funktionen ikke længere.. Nogen ide om hvad det kan være?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester