Toon posts:

access email versturen naar iedereen in query

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ben geloof ik al een eindje op weg, maar ik denk dat er een makkelijkere manier voor is.

Ik heb nu om te proberen gemaakt:

Dim strGeaddreseerde

strGeaddreseerde = "ontvanger1@provider.nl;ontvanger2@provider.nl"

DoCmd.SendObject acSendQuery, "mijn post", , strGeaddreseerde, , , "POST!"

Dit werkt! hij zend een bestand naar de 2 ontvangers die ik handmatig ingetypt heb.

Alleen IK heb een query met daarin de mailadressen.

Alleen hoe moet ik dan een variabele genereren uit deze query?!?!

hij zal dan alles achter elkaar moeten zetten met ; ertussen...

dus jan@xs4all.nl;piet@xs4all;etc


en DAT lukt me niet. .. any help van een pro??? :?

[ Voor 4% gewijzigd door Verwijderd op 12-03-2003 18:06 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
Dat kan je toch zelf ook wel bedenken.... Ff logisch nadenken, ...

Men neme je recordset, men neme ene stringvariable. Men overloopt de recordset en ieder e-mailadres voegt men toe aan de string. Gebruik ; voor de afwerking.

code:
1
2
3
4
5
6
string maildings = "";
while (!recordset.eof)
{
  maildings = maildings + recordset.Field('emailadres') + ';';
  recordset.next();
}

(pseudo - code trouwens, maar met dit kan je wel verder...)

Succes.

https://fgheysels.github.io/


  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 21-08 17:05
[semi-offtopic]
Als je mail op deze manier verstuurt, zet dan alle ontvangers in het BCC veld, zodat niet iedereen een lijst krijgt van emailadressen van mensen die het bericht ook ontvangen.
[/semi-offtopic]

Verwijderd

Topicstarter
Alvast bedankt.. ik ga ermee aan de slag..

Verwijderd

Topicstarter
Waar zit nou de fout???

Dim dbsPost As Database
Dim rstNotificatie As Recordset
Dim email As Field
Dim strWaarde


Set dbsPost = OpenDatabase("d:\database\employ\employ_safe.mdb")
Set rstNotificatie = dbsPost.OpenRecordset("notificatie")

Dim StrList As String
StrList = ""

Do While rstNotificatie.EOF

strWaarde = rstNotificatie.Fields("email")
MsgBox strWaarde

StrList = StrList + strWaarde + ";"

rstNotificatie.MoveNext
strWaarde = ""

Loop

DoCmd.SendObject acSendQuery, "mijn post", , StrList, , , "POST!"

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
Wat is de fout?

Ik raad je aan om eens de P&W quickstart door te lezen: Welkom in P&W -> Quickstart (update 2/10/2002)

Verder wil ik je er ook op wijzen dat P&W geen helpdesk is.

https://fgheysels.github.io/


Verwijderd

Topicstarter
was Do until i.p.v. Do while.... STOM

[ Voor 208% gewijzigd door Verwijderd op 13-03-2003 22:12 ]


Verwijderd

Topicstarter
Heb quickstart nog eens gelezen.. misschien kwam de vraag makkelijk over maar zo was ie niet bedoeld. Ik heb heb met jullie tips uiteindelijk voor elkaar gekregen !

...tot gisteravond. Het werkte prima, echter nu krijg ik steeds de melding: "kan de records niet lezen. U hebt geen machtiging voor notificatie om de records te lezen"

Volgens het boekje:

-Ik heb alle machtigingen in menu extra>machtigingen van users en groepen gechecked. Dit staat volgens mij goed, dus het werkgoepinformatiebestand is oke.

-ik DENK het volgende als oorzaak: De programmaregels staan in VBscript als acktie op een muisclick. De recordset wordt dus door het 'systeem' aangemaakt, ik denk dat er dus geen "systeem account gedefinieerd is" en dat access deze actie afwijst.
Ik vraag me dan nog steeds af waarom hij het gisteravond een poosje wel deed.


Ik zal de programmatext ter info hieronder zetten:

VBSCRIPT:

'Definieer recordset
Dim dbsPost As Database
Dim rstNotificatie As Recordset
Dim email As Field
Dim strWaarde
Dim strDate

Set dbsPost = OpenDatabase("d:\database\employ\employ_safe.mdb")
Set rstNotificatie = dbsPost.OpenRecordset("notificatie")
'vul de recordset
rstNotificatie.MoveLast
rstNotificatie.MoveFirst
Dim StrList As String
StrList = ""
'Vul de email
Do Until rstNotificatie.EOF
strWaarde = rstNotificatie.Fields("email")
StrList = StrList + strWaarde + ";"
rstNotificatie.MoveNext
strWaarde = ""

Loop

'Verzend de mail
strDate = Date

DoCmd.SendObject acSendNoObject, , , "persoon@bedrijf.com", StrList, , "Mededeling: Er zijn op " & strDate & " poststukken voor u binnengekomen."

[ Voor 8% gewijzigd door Verwijderd op 13-03-2003 22:29 ]


Verwijderd

Topicstarter
Voor iedereen die het weten wil:

Het lag aan het volgende:
Set dbsPost = OpenDatabase("d:\database\employ\employ_safe.mdb")
heb ik vervangen door:
Set dbsPost = CurrentDb

Hij benaderd de DB dan intern, en gaat het met de machtigingen wel goed!
Pagina: 1