Avatar billede rasmusp Nybegynder
28. december 2000 - 21:19 Der er 7 kommentarer

Vil denne kode virke?

Jeg stillede et spørgsmål (eksperten nr. 40553) men fik ikke helt det svar jeg ønskede.

Jeg har lavet en mailingliste (nyhedsbrev) hvor jeg selecter modtagerne fra min brugerdatabase således:

SQL = \"SELECT distinct email FROM temp_email\"
set maillist = Base.Execute(SQL)

Nu er der nogle brugere der gerne vil frameldes, men listen bliver genereret (i tabellen \"temp_email\") hver gang jeg sender til den kan jeg ikke bare framelde folk.

Jeg har tænkt på at lave en no_news tabel hvori jeg indsætter alle de e-mail adresser som ikke fremover vil modtage nyhedsbreve.

Er der nogle der kan sige mig om flg. vil virke:


\' BEGIN

SQL = \"SELECT distinct email FROM no_news\"
set nonewsRS = Base.Execute(SQL)

do while not nonewsRS.eof

SQL = \"Delete email from temp_email where email = nonewsRS(\"email\") \"

loop
nonewsRS.movenext

SQL = \"SELECT distinct email FROM temp_email\"
set maillist = Base.Execute(SQL)

.....
(her er en masse jmail kode som er irrelevant for dette spørgsmål)
.....

JMail.AddRecipient(maillist(\"email\"))
Avatar billede tdaugaard Nybegynder
29. december 2000 - 03:00 #1
Jeg kan ikke liiige helt kringle hvad det er du vil ?
Avatar billede arno Nybegynder
29. december 2000 - 09:25 #2
Hvad er det egentlig du vil ??? vil du framelde nogle på din mail liste, men beholde dem i din database eller hvad vil du ??

Hvis du vil framelde dem men beholde dem... kunne du måske lave en attribut i din tabel du kalder aktiv, hvor du sætter modtagerne til at være aktiv = J hvis personen skal modtage mailes eller aktiv = N hvis der ikke skal sendes mails..

Hvis en mail modtager bare skal slettes så lav dog en delete på brugeren...

/arno
Avatar billede rasmusp Nybegynder
29. december 2000 - 11:02 #3
Ok... :)

Jeg har 4 forskellige \"bruger\" tabeller, lad os kalde dem a, b, c, d.

I hver tabel er et felt til brugerens email adresse.

Nogle gange sender jeg nyhedsbrev ud til f.eks. a og c, b og d, eller kun a. Derfor genereres hver gang en temporær tabel med de e-mail adresser der skal sendes til. Da jeg ikke bare kan slette brugeren hvis han ikke ønsker nyhedsbreve, og fordi det ikke vil være hensigtsmæssigt at have et ja/nej felt til nyhedsbrev i tabellerne a, b, c og d vil jeg gøre noget andet. Jeg vil lave en helt seperat, ny tabel (no_news) hvor alle de e-mail adresser der IKKE skal sendes nyhedsbrev til fremover ligger.

Hver gang jeg sender nyhedsbrev ud (overfører e-mail adresser fra de tabeller der skal have nyhedsbrev) bliver disse mail adresser lagt ned i temp_email tabellen.

Spørgsmålet er hvordan jeg lettest, før udsendelse af nyhedsbrevet sletter alle de email adresser der ligger i no_news fra temp_email?
Avatar billede skwat Praktikant
29. december 2000 - 11:08 #4
jeg giver Arno ret.:)

><((((*>
Avatar billede arno Nybegynder
29. december 2000 - 11:38 #5
rasmusp...

Hvis jeg forstår dig rigtig... så ved du ikke på forhånd hvem der skal modtage email..

Har du delt dine modtager op i grupper ? Eller hvordan udvælger du dine modtagere ??

/arno
Avatar billede rasmusp Nybegynder
29. december 2000 - 11:46 #6
Korrekt- jeg ved ikke på forhånd hvem der skal modtage e-mail.

Modtagerne er som skrevet delt op igrupper/tabeller - a,b,c,d. Men da samme modtager godt kan være i flere grupper lægges hans/hendes mail adresse distinct over i temp_email.

Hans email adresse skal fjernes fra temp_email hvis denne står i no_news.

Hvordan gør man det (når der er flere end 1 email adresse i no_news der skal fjernes fra temp_email.)
Avatar billede arno Nybegynder
29. december 2000 - 12:36 #7
OK...

Hvis du laver en kørsel der giver dig no_news og placere dit resultat i en array... (kald det et eller andet) ... herefter laver du din kørsel på temp_email... i det du så danner dit mail siger du noget i retning af :

do while not maillist.eof
Tjek om maillist(\"email\") ikke findes i  array\'et
lav din mail
maillist.movenext
loop

Koden for din array må du lige selv slå op...

mne rasmusp... ovennævnte kan laves på mange måder..

Et andet forslag kunne også være, hvis du hellere vil arbejde på tabeller:

Lav et udtræk på no_news skriv resultatet til en
tabel. Lav dit udtræk til din maillist..

løb maillist igennem, (do while not maillist.eof) tjek din email op mode din no_news tabel du lige har lavet, tag brug din maillist(\"email\"), som udvalgskretirie i din no_mail.. hvis den ikke findes laves mailen, eller springer du den over.. herefter movenext og loop...

Slut af med at slette alt indholdet i no_news, så den er klar til næste gang..

/arno


     
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
Kurser inden for grundlæggende programmering

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

IT-JOB

Netcompany A/S

IT Consultant

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Applikationsarkitekter til program Digital og Operativ Transformation

Politiets Efterretningstjeneste

Sektionsleder til DevOps i PET