17. oktober 2001 - 23:54Der er
7 kommentarer og 1 løsning
Automatisk udsendelse af E-mails
Jeg prøver at få Access til at udsende reports til e-mailadresser som findes i en tabel. Dvs. at databasen skal gå ind i en tabel, og finde et række email-adresser, som alle skal have deres egen specifikke report... kan Access klare dette? Jeg har prøvet med lidt macroer, men tricket skulle være at jeg skal kunne indtaste e-mailadresse og reportnavn i en tabel, og ikke i en macro...
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Function SendReports() Dim rst As Recordset Set rst = CurrentDb.OpenRecordset(\"EmailKunder\") With rst Do Until .EOF DoCmd.SendObject acSendReport, \"RapportNavn\", , .Fields(\"EmailAdr\"), , , \"Emnet\", \"Meddelelsen\", False .MoveNext Loop .Close End With Set rst = Nothing End Function
(udskift selv tabel- og feltnavn) (se også hjælpen til SendObject)
Jeg ved ikke om dette her er skrevet før, for der dukkede ikke noget op. Men Fdata er inde på noget af det rigtige, dog skal det være muligt at sende forskellige rapporter til forskellige E-mail adresser. Derfor skal der være et felt i tabellen der hedder E-mail, og et der hedder rapportnavn. Der skal også henvises til en anden tabel, hvor man skal kunne skrive emne og meddelelse.
Hvis jeg har forstået dig korrekt, burde en konstruktion som følgende virke:
Function SendReports() Dim rst As Recordset Set rst = CurrentDb.OpenRecordset(\"EmailKunder\") With rst Do Until .EOF DoCmd.SendObject acSendReport, .Fields(\"RapportNavn\"), , .Fields(\"EmailAdr\"), , , Dlookup(\"[Emnet]\",\"EmneTabel\",\"[ID]=\" & .Fields(\"EmneRef\")), Dlookup(\"[Meddelelsen]\",\"EmneTabel\",\"[ID]=\" & .Fields(\"MeddRef\")), False .MoveNext Loop .Close End With Set rst = Nothing End Function
Hej Fdata, nu er jeg en rigtig amatør til det her, men jeg er sikker på at dit forslag virker efter hensigten - bare ikke med mig ved roret. Vil du ikke nok skrive hvad jeg skal bruge for at din konstruktion virker? Eks. jeg skal bruge en tabel der hedder Emailkunder, med et felt der hedder bla bla og et der hedder bla bla, og en form der hedder bla bla...? Undskyld min ringe viden, men jeg skal igang med at lære Visual Basic nu, så kan det være at jeg bedre kan følge med \"hjernerne\" senere...
No problem. For at ovenstående skal funke, skal du - som du allerede har gættet - have en tabel ved navn \"EmailKunder\". I denne forudsættes det, at du har felterne - EmailAdr (med personens Email adr) - RapportNavn (rapporten, som vedkommende skal have) - EmneRef (nummeret på emnet i EmneTabellen) - MeddRef (nummeret på meddelelsen i EmneTabellen)
Desuden skal du oprette en \"EmneTabel\" med tre felter: ID, Emnet og Meddelelsen.
Konstruktionen med Emne og Meddelelse i den samme tabel er ikke helt smart; men jeg forstod på dit spørgsmål, at du ønskede det sådan. Set i det nye lys, tror jeg, du skal opdele den i to: EmneTabel (To felter: ID, Emnet) og MeddTabel (To felter: ID, Meddelelsen).
Brug så denne sætning: DoCmd.SendObject acSendReport, .Fields(\"RapportNavn\"), , .Fields(\"EmailAdr\"), , , Dlookup(\"[Emnet]\",\"EmneTabel\",\"[ID]=\" & .Fields(\"EmneRef\")), Dlookup(\"[Meddelelsen]\",\"MeddTabel\",\"[ID]=\" & .Fields(\"MeddRef\")), False
Hvis nu Emne og meddelelse altid danner par, kan du jo også droppe MeddRef og nøjes med at slå op i Emnetabellen med EmneRef.
Brug så denne sætning: DoCmd.SendObject acSendReport, .Fields(\"RapportNavn\"), , .Fields(\"EmailAdr\"), , , Dlookup(\"[Emnet]\",\"EmneTabel\",\"[ID]=\" & .Fields(\"EmneRef\")), Dlookup(\"[Meddelelsen]\",\"EmneTabel\",\"[ID]=\" & .Fields(\"EmneRef\")), False
Funktionen sætter du ind i et modul. Du kører den med F5 eller kalder den via en makro eller fra en knap på en formular eller ......
Tusinde Tak Fdata - du er dagens mand i skysauce!, Du er for mig hvad supermand er for Clark Kent!!! Det virker bare perfekt....
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.