27. august 2003 - 14:04Der er
51 kommentarer og 1 løsning
Problemer med kode
Hej Eksperter: Jeg bruger nedenstående kode til at overføre alle emailadresser fra min forespørgsel fs_emailadresser til send to feltet i en tom mail. Mit problem er at Sendto feltet kun bliver udfyldt med de 3 første tegn fra den første record i forspørgsel, Men der opstår sådanset ikke nogen fejl med msgbox og sådan. Det skal siges at der bruges Lotus Notes som mailsystem, men dette skulle jo ikke have nogen betydning da jeg blot bruger DoCmd.SendObjekt. Nevermind her er koden håber nogen kan hjælpe med at gennemskue hvor den er gal, jeg arbejder i access 2000
Hi Terry Tak for indlægget, Output er den variabel jeg gemmer i mit rst.set, forstået på den at varablen Output indehokder de records jeg har trukket fra fs_emailadresser. Denne variabel har jeg så sat ind i SendObjekt (To). Hvis jeg gemmer resultatet i en txtBox i feks. en Form så virker det, men ikke når jeg skal overføre til SendTo i min Mail
Hi Hvis jeg skriver Output = rst.GetString(, , , , ", ")kommer hele mailadressen fint i SendTo, men kun den første record i fs_emailadresser,der pt 47 records.
Nej desværre den hjalp ikke, stadig kun en mailadresse i SendTo. kunne det være noget med at jeg ikke løber hel rst igennem, men kun fanger første record
All that I can suggest is that there are other characters which are getting into your string! If each mail address is in another record then you also need to ensure that the RowDelimiter (Carriage Return) is NOT getting in by altering this to ; also
Hi Anders, Do you have any comments to my comment 27/08-2003 15:07:50? The third paramater to GetString is defaulted to Carriage Return. So if each email addresss is in a seperate record then there will be a CR character after each email address.
Something I just noticed! There are only FOUR paramaters to GetString NOT five which
Hi Terry Tak for indsatsen, ja hver emailadresse er jo en record, jeg havede allerede kikket på dit link, men syntes stadig at der kommer fejl. Never mind jeg vil forsøge dette: Output = rst.GetString(, ,";" , ). Jeg har desværre ikke mulighed for chekke før i morgen formmiddag, men giver besked så snart jeg har testet. Håber det er ok. Jeg regner med at teste ca kl. 09:30, vi høres ved
Den her testede jeg, da jeg svarede på http://www.eksperten.dk/spm/373000, og den virkede med Outlook og vist nok også med Outlook Express. Hvad er det for en fejl du får, når du bruger den med Lotus Notes?
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
Hi Terry Nu har jeg testet, men descærre er problemet det samme, jeg forsøgte sent i går aftes på en outlook, og der ser det faktisk ud til at virke. Jeg tror vi skal ud i din kommentar 27/08-2003 19:50:38 for at få det til at virker.
hekla: Tak for indlægget. Problemet er at hvis der kun er 3 parametrer i get string for jeg kun de 3 første bogstaver i mailadresse overført, og kun den første record ud af 47, hvis jeg bruger rst.GetString(, , , , "; ")med 4 parametrer kommer hele mailadresse i SendTo, men stadig kun den første record. Jeg mener ikke at det skulle betyde noget med Lotus Noes, da jeg jo ikke sender min mail, men blot benytter send objekt for at åbne en tom mail, og så her få overført mine mailadresser fra fs_mailadresser. Det virker jo fint hvis jeg tester uden at bruge kode direkte til det som sådan her: DoCmd.SendObject , "", "", "First@mailAddress.dk;Second@mailAddress.dk", "", "", "", "", True, ""
Jeg ønsker ikke at sende mailen i første hug, derfor har jeg lavet lidt om på hekla's kode, Jeg har faktisk forsøgt bare at køre koden som den var, men det spiller ikke til den aktuelle opgave, blot en kommentar
OH! Something else worth trying! Change the NAME of your varaible (output) to something else, it may be a reserved word! And also try debugging to contents
add a line debug.print output
Ctrl+G to open the debug window so you can see what is getting placed into the string!
Hej igen Når jeg bruger flg. som string Outputadresser = rst.GetString(, , , , "; "), og bruger min sendobjekt flg. DoCmd.SendObject , "", "", Outputadresser, "", "", "", "", True, "", og defefter bruger debub.print outputadresser kan jeg se at stringen faktisk indeholder alle 47 mailadresser, men som sagt er det kun den første record der stå i send to feltet i min notesmail, Måske det aligevel driller fordi det er lotus notes
Yes DoCmd.SendObject , "", "", "First@mailAddress.dk;Second@mailAddress.dk", "", "", "", "", True, "", virker, men ikke i forbindelse med at jeg sætter To til variablen Outputadresser. jeg er nu helt sikker på at det er GetString der ikke køre ifb. med Lotus Notes. Hvis du har en anden løsning at foreslå er det fint, men kan du ikke bruge mere tid på det er det også OK. Jeg går til frokost nu, og er tilbage om 45 minutter
Der er, så vidt jeg kan se, to muligheder. 1. Delimiter til at adskille email-adresserne er forkert. 2. Du mangler anførselstegnene uden om email adresserne.
Hej igen Lige en ting, det er bestemt ikke noget must at det skal gøres på denne måde, det var jo blot et forsøg, hvis i har andre forslag hvordan det kan gøres er dette helt fint *SSS* Anders
Anders> If THIS works (does it?) then you can see that the delimiter (;) between eamil adresses is correct and ALSO that it is possible to get more than one email address into the TO field in Lotus. So in my opinion the proble lies somewhere else NOT LOTUS, and I have a feeling that it is GetString which is causing the problem.
If you can sen me your dB or the parts of interest the I can take a look to see if I can see the problem. eksperten@santhell.dk
Another idea is loop through the recordset and append each email with a ; between to a string.
Hi terry Jeg har nu testet dit sidste indlæg i Outlook, og her virker det perfekt. På mandag vil jeg igen teste op mod Lotus Notes med dit sidste indlæg, så må vi se om det også virker der. Hvis ikke er det så muligt at loope igennem mit recordset, og måske få det til at virke. Jeg håbder det er ok at jeg først kan teste mod Notes mandag. Du skal have mange tak for din indsats so far, vi høres ved mandag, jeg regner med at teste ca kl. 08:15 AM. God weekend
Hi Så blev der endelig tid til at teste indlægget fra 30/08-2003 12:59:48. Desværre er problemet det samme som tidligere, kun den første record fra fs_emailadresser bliver overført til SendTo i Lotus Notes mailen, jeg forstår det ikke, hvis jeg køre nøjagtig den samme kode på outlook køre det uden problemer. Jeg er bange for vi ikke lige komme videre, sidste chance kunne være at loope igennem recordset, kan du evt. hjælpe med koden.
Anders if we loop through the mail addresses do you want to send ONE mail per address or the same mail to them all? If we send one to them all then I am afraid we are going to end up in the same situation!
Hi Terry Ja jeg kan se hvad du mener. Meningen med funktionen var at man sender en Mail til alle emailadresser. Funktionen var tænket til at brugeren skriver en standardbesked og så sender den til alle i adressereg. som har en mailadresse. Jeg går til møde nu, og er tilbage i eftermiddag, så hvis du har lyst kunne det være fint hvis vi kunne prøve en sidste gang.
Hi Terry Undskyld den lange svartid på dit sidste indlæg, har været til møde hele dagen
Denne her virker: DoCmd.SendObject , "", "", "First@mailAddress.dk;Second@mailAddress.dk", "", "", "", "", True, ""
Denne her virker også Outputmail = "First@mailAddress.dk;Second@mailAddress.dk"
Det er først når jeg jeg sætter min variable til i send object til recordset det går galt. Never mind din sidste kode med loope igennem virker, så den vil jeg holde mig til so far. Det er nok som du var inde på i sarten "Det er Get string der er problemet". Du skal have mange tusind tak for din store indsats, uden din hjælp var jeg ikke kommet videre, ydermere har jeg jo også lært at loope igennem et recordset, dette kan jeg helt sikkert bruger i andre sammenhænge. Jeg tror at det kan have være Lotus Notes der driller med den GetString, jeg fik det jo til at virke i første omgang på OutLook, så måske vi snart skulle skifte til OutLook her he, he,.
Endnu engang mange tak, her er dine velfortjente points. Vi høres nok ved en anden gang.
Do you say that the code from my last example actually does work as it is? If thati sthe case then it can only be Getstring that is giving the problem! Anyway what is important is its working!
Hi Ja det rigtigt hvis jeg benytter syntaxen med GetString virker det kun i OutLook og IKKE i Lotus Notes, Men din sidste kode virker begge steder, meget mærkeligt, Men som du siger its working!:o)
Synes godt om
Ny brugerNybegynder
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.