Moin zusammen,
folgendes Problem kann ich nicht lösen.
Täglich muss ich an diverse Mail-Empfänger eine Excelliste schicken. Alle nötigen Stammdaten zu den Empfängern sind in einer Tabelle gepflegt.
Heute löse ich das, indem ich für jeden Empfänger eine Abfrage gemacht habe und das Ergebnis dieser Abfrage dann per Mail einzeln verschicke.
Bei Neuanlage eines Stammdatensatzes muss ich auch wieder eine neue Abfrage usw. erstellen. Auch bei Stammdatenänderungen hängt immer ein Rattenschwanz mit dran..... :-[
Ihr merkt sicher, was ich möchte.... :)
Gibt es eine Möglichkeit, dies alles über eine Abfrage zu steuern, d.h. das die Abfrage erkennt, anhand der Stammdaten, dass eine neue Excelliste erstellt werden muss und an wen diese verschickt werden müssen?
Schon jetzt, vielen Dank für Eure Hilfe, hoffentlich fällt diese positiv aus. Falls dies so nicht umsetzbar sein sollte, ist es ja auch nur positiv.......
Viele Grüße
Andreas
Hallo Andreas,
das mit der Excelliste habe ich nicht ganz verstanden.
Schickst du diese als Anhang?
Wenn ja dann kannst du das Ganze mit einer VBA-Routine elegant lösen.
Wenn nein dann beschreib mal etwas genauer.
Gruß
Johann
Moin Johann,
na da habe ich vielleicht Glück....... :D
Die Excellisten sind als Anhang den Mail's beigefügt.
Vielleicht nochmal zum eindeutigen Verständnis. Jede heutige Abfrage erstellt Daten für eine Excelliste, die dann genau nur an einen eindeutigen Mailverteiler (Adresse) verschickt wird. Derzeit sind es also 26 Excellisten an mind. 48 Mailadressen. Eine Excelliste kann auch an mehrere Adressen verschickt werden. Daten dazu kommen aus der Tabelle Stammdaten.
Kannst Du mir eine solche Routine zukommen lassen? Wäre echt toll.
Vielen Dank
Andreas
Moin Andreas (in Nordhorn sagt man auch moin),
hier die Routine:
Private Sub Befehl18_Click()
On Error GoTo Fehler
If IsNull(Mailbetreff) Then
MsgBox ("Betreff ist Pflichtfeld")
Mailbetreff.SetFocus
Exit Sub
End If
If IsNull(Mailtext) Then
MsgBox ("Text ist Pflichtfeld")
Mailtext.SetFocus
Exit Sub
End If
Dim SQLSel As String, Zaehler As Long
Zaehler = 0
SQLSel = "SELECT MailGruppenMitglieder.MailGruppe, Grunddaten.Mail FROM MailGruppenMitglieder INNER JOIN Grunddaten ON MailGruppenMitglieder.MitgliedNr = Grunddaten.MitgliedNr WHERE (((MailGruppenMitglieder.MailGruppe)=" & Me!Gruppe & "));"
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Set Db = CurrentDb
Set Rs = Db.OpenRecordset(SQLSel, dbOpenDynaset)
Dim objOutlook As Object 'Outlook.Application
Dim objOutlookMsg As Object 'Outlook.MailItem
Dim objOutlookRecip As Object 'Outlook.Recipient
Dim objOutlookAttach As Object 'Outlook.Attachment
'Variablen für die Übergabe
Dim Empf 'An:
' Dim CC 'CC:
Dim BCC 'BCC:
Dim Betreff 'Subject
Dim Nachricht 'Body - hier als HTML-Body ausgeführt
Dim ATT 'Dateipfad zum Attachment - hier nicht benutzt
' aber Konstanten lassen sich besser so deklarieren
Const olMailItem = 0
Const olTo = 0
Const olBCC = 3
Const olImportanceHigh = 0
Rs.MoveFirst
While Not Rs.EOF
Zaehler = Zaehler + 1
MailAdresse = Rs!Mail
If Not IsNull(Rs!Mail) Then
' Create the Outlook session.
Set objOutlook = CreateObject("Outlook.Application")
' Create the message.
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
' Add the To recipient(s) to the message.
If Len(Trim(Nz([MailAdresse]))) <> 0 Then
Set objOutlookRecip = .Recipients.Add(MailAdresse)
objOutlookRecip.Type = olTo
End If
.To = MailAdresse
'Set objOutlookRecip = .Recipients.Add(BCC)
'objOutlookRecip.Type = olBCC
.Subject = Me!Mailbetreff
'.Body = Nachricht 'Nur Text
.HTMLBody = Me!Mailtext 'HTML-Format
'.Categories = "Test"
.Importance = olImportanceHigh 'Dringlichkeit: Hoch
If Not IsNull(Me!DateiName) Then
.Attachments.Add "" & Me!DateiName & ""
End If
End With
objOutlookMsg.Display
SendKeys "%s"
Set objOutlook = Nothing
End If
Rs.MoveNext
Wend
MsgBox ("Es wurden: " & Zaehler & " E.Mail´s verschickt")
Ende:
Exit Sub
Fehler:
MsgBox (Err & " " & Err.Description)
Resume Ende
End Sub
Bei mir ist es so das Betreff und Text der Mail im Form eingegen werden.
Die Datei als Anhand wird ebenfalls im Form festgelegt.
Gruß
Johann
Moin Johann,
ganz lieben Dank und viele Grüße aus der Wedemark.
Wünsche Dir ein schönes, entspanntes Wochenende
Andraes