Servus Gemeinde,
die SuFu brachte nur Teilresultate, die ich nicht in eine funktionierende Codierung umzusetzen in der Lage bin.
Ich bitte daher hier um Hilfe.
Aufgabenstellung: Ich erzeuge aus einer Access-2003-DB über eine Abfrage einen Report, welchen ich per Outlook-Email als HTML-Mail an Mailempfänger versenden möchte, deren Emailadresse(n) in der Abfrage enthalten ist/sind. Der entsprechende Report steht.
Auch die Erzeugung der Email über "DoCmd.SendObject acSendReport, ..., acFormatHTML, ...." funktioniert soweit.
Einzige Hürde: ich weiss nicht, wie ich die Emailadresse(n) "auslese", um sie nach "acFormatHTML, " einzufügen.
Kann mir da bitte jemand behilflich sein? Mein Dank wird ihn/sie auf ewig verfolgen...
Hallo,
Zitatwie ich die Emailadresse(n) "auslese",
Mit einem Recordset...
Dim rs as Dao.Recordset
Set rs=Currentdb.Openrecordset("select EmailAdresse from DeineTabelle ", dbOpenSnapShot)
If rs.Recordcount > 0 Then
Do until Rs.Eof
Docmd.SendObject......., rs(0) ,......
rs.Movenext
Loop
End If
rs.close
set rs=Nothing
Vielen Dank für Deine Hilfe, aber ich bin schienbar zu blöd, selbst das zu realisieren.
Hinzu kommt, dass ich mich wohl auch falsch ausgedrückt habe, wie das meiner Meinung nach zu funktionieren hat.
Also, ich habe ein Eingabeformular. In diesem Eingabeformular gibt es eine Befehlsschaltfläche namens "EmailInstructions".
Sobald diese geklickt wird, soll das Programm -basierend auf dem aktuellen Datensatz, der im formular gerade angezeigt wird- die Abfrage namens "qry_ANMELDUNG" als Grundlage für den Bericht "rpt_ANMELDUNG" nehmen, und das Resultat dieses Berichts (der dann aus einer einzigen Seite bestehen soll/wird), an die Emailadresse verschicken, die in qry_ANMELDUNG im Feld "AGENTEMAIL1" abgerufen wird.
Ich hänge wohl mal die Datei mit an, damit dieses Durcheinander etwas deutlicher wird...
Kann / mag mir dabei jemand bitte behilflich sein?
Vielen Dank....
[Anhang gelöscht durch Administrator]
Hallo,
hier mal ein Beispiel:
Dim db As Database, rs As DAO.Recordset, strSQL As String
Set db = CurrentDb
Set rs = db.OpenRecordset("select distinct AGENTEMAIL1 from qry_ANMELDUNG", dbOpenSnapshot)
rs.MoveLast
rs.MoveFirst
Debug.Print rs.RecordCount
Do Until rs.EOF
strSQL = db.QueryDefs("qry_ANMELDUNGTemplate").SQL
strSQL = Replace(strSQL, ";", " Where ") & "CLEARANCEID =" & Me!CLEARANCEID ' falls die Berichtsdaten von CLEARANCEID abhängig sind
db.QueryDefs("qry_ANMELDUNG").SQL = strSQL
DoCmd.SendObject acReport, "rpt_ANMELDUNG", acFormatHTML, rs!AGENTEMAIL1, , , "Hier kommt Ihr Report", "Bitte lesen", True
rs.MoveNext
Loop
rs.Close:Set rs = Nothing
set db= Nothing
"qry_ANMELDUNGTemplate" ist ein weitere Abfrage identisch zu "qry_ANMELDUNG", jedoch ohne Sortierung, Guppierung oder sonstige Kriterien-Angaben.
Wenn zu "CLEARANCEID" immer nur eine Email-Adresse "zuständig" ist, könnte man insofern vereinfachen, als dass man auf die Recordset-Schleife verzichtet und die die Recordset-SQL mit dem Auswahlkriterium versieht.
Wow, meine Begeisterung ist riesig!
Danke recht herzlich, so langsam fange ich an zu kapieren, nach welcher Systematik das aufgebaut ist.
Das bringt mich einen großen Schritt weiter.
You make my day! 8)