Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Empfänger Mailversand in einer Tabelle

Begonnen von Lalikowski, September 12, 2016, 14:02:40

⏪ vorheriges - nächstes ⏩

Lalikowski

Hallo an alle,

ich möchte aus meiner DB täglich mehrere Reporte an unterschiedliche Empfänger, mit einem Klick, versenden. Die Empfänger (an, cc, bcc) für die jeweiligen Reporte pflege ich in einer Tabelle.
Ein Teil des Namens der Reporte ist eindeutig, so dass darauf verwiesen werden könnte.

Hierzu habe ich ein kleines Problem:

1. Wie kann ich Access sagen, dass ein gewisser Report auch nur die entsprechenden Empfänger erhalten?

Die Tabelle für die Empfänger beinhaltet derzeit die Felder

an
cc
bcc
Report

Viele Grüße

Andreas

DF6GL

Hallo,

die DS aus der Tabelle in einen Recordset laden und diesen durchlaufen.  Bei jedem Durchlauf den Report mit Sendobject an den akt. Empfänger versenden....

Lalikowski

Moin Franz,

vielen Dank für die schnelle Antwort, aber leider " I understand only trainstation ".... ??? :-\

Habe gestern noch versucht, mich in das Thema recordset reinzulesen, aber nur mit mässigem Erfolg.

Könntest Du mir einen entsprechenden code schreiben, dann bekomme ich vielleicht auch ein Verständnis dafür.

Im Anhang ein screenshot der benötigten Elemente.
Beispielsweise soll der Report rpt_HAM nur an die Empfänger der Reportgruppe HAM gehen, usw..

Vielen Dank im Voraus

Andreas

DF6GL

Hallo,

etwa so. Den Berichtsnamen musst Du halt richtig zusammensetzen.


Function fktSendReports()

Dim rs As DAO.Recordset, db As Database
Const RptPrefix = "rptBericht", RptSuffix = "blahblah"
On Error GoTo myerr

Set db = CurrentDb
Set rs = db.OpenRecordset("select * from tbl_Mail order by an", dbOpenSnapshot)
If rs.RecordCount > 0 Then
  Do Until rs.EOF
 
  DoCmd.SendObject acSendReport, RptPrefix & rs!Report & RptSuffix, _
  acFormatPDF, rs!an, Nz(rs!cc, ""), Nz(rs!bcc, ""), "Alltäglicher Bericht", _
  "Wir freuen uns, Sie mit einem weiteren Bericht beglücken zu können", True
 
  rs.MoveNext
  Loop

End If

Exit_:

rs.Close: Set rs = Nothing
Set db = Nothing
Exit Function


myerr:

MsgBox Err.Number & ":  " & Err.Description
Resume Exit_
End Function

Lalikowski