PDA

Vollständige Version anzeigen : E-Mailen aus ACC2000


Franz Rührnößl
28.02.2001, 09:25
Ich habe schon viele Artikel zum Thema E-Mailen aus ACCESS gelesen, aber wirklich erfolgreich bin ich bis jetzt noch nicht.
Ich habe mit den Microsoft-KnowledgeBase Angaben zum Thema es geschafft ein Modul einzugeben und damit das Outlook-Email-Formular per Button auf einem Exemplar zum Vorschein zu bringen.
Doch das ist mir zu wenig. Ich möchte, dass ich per Abfrage(oder wenn das nicht geht: aus einer Tabelle)gewonnenen E-Mail-Adressen ins Empfängerfeld von Outlook bringe, damit ich ein Serienmail verschicken kann.

Wie geht das??????????

Franz

Heathen
28.02.2001, 09:55
Hallo Franz,
wie sieht denn Dein bisheriges Modul aus? Arbeitest Du mit "SEndobject?"

Franz Rührnößl
28.02.2001, 10:45
Ich arbeite nicht mit SendObject, obwohl ich das auch schon probiert habe und das für einzelne E-Mail-Adressen auch gut funktioniert.
Problematisch wird es nur bei Serienmails, was bei meiner Datenbank praktisch immer der Fall ist. Folgendes Modul(v. Microsoft) verwende ich:
Sub SendMessage(Optional AttachmentPath)
Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Dim objOutlookAttach As Outlook.Attachment

' Erstellen der Outlook-Sitzung.
Set objOutlook = CreateObject("Outlook.Application")

' Erstellen der Nachricht.
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)

With objOutlookMsg
' Hinzufügen der "An"-Empfänger zu der Nachricht.
Set objOutlookRecip = .Recipients.Add("Nancy Davolio")
objOutlookRecip.Type = olTo

' Hinzufügen der "Cc"-Empfänger zu der Nachricht.
Set objOutlookRecip = .Recipients.Add("Andrew Fuller")
objOutlookRecip.Type = olCC

' Setzen des Betreffs, des Textes und der Wichtigkeit der Nachricht.
.Subject = "Automatisierungstest mit Microsoft Outlook"
.Body = "Dies ist der letzte Test." & vbCrLf & vbCrLf
.Importance = olImportanceHigh 'Hohe Wichtigkeit

' Hinzufügen von Anlagen zu der Nachricht.
If Not IsMissing(AttachmentPath) Then
Set objOutlookAttach = .Attachments.Add(AttachmentPath)
End If

' Auflösen der einzelnen Empfängernamen.
For Each objOutlookRecip In .Recipients
objOutlookRecip.Resolve
If Not objOutlookRecip.Resolve Then
objOutlookMsg.Display
End If
Next
.Send

End With
Set objOutlookMsg = Nothing
Set objOutlook = Nothing
End Sub
Wie gesagt, damit schaffe ich es, dass per Button das OUTLOOK E-Mail FOrmular geöffnet wird. Wie aber bekomme ich die selektierten Mail-Adressen in die Empfänger-Leiste? Da bin ich ratlos.

Franz

Jaeger81
28.02.2001, 10:46
Hi!

Ich habe das selbe Problem. Mein SendObject sieht bis jetzt so aus.

Private Sub Befehl1_Click()

On Error GoTo fehler

If IsNull(an) Or (Betref) Then
MsgBox "Bitte füllen Sie die Felder An und Betreff aus.", vbCritical, "Mailmini"
GoTo ende
End If

If IsNull(cc) Then cc = ""
If IsNull(bcc) Then bcc = ""
If IsNull(Mailtext) Then Mailtext = ""

'Verschicken der Mail
DoCmd.SendObject acSendNoObject, , , an, cc, bcc, Betreff, Mailtext, False

an = Null
cc = Null
bcc = Null
Betreff = Null
Mailtext = Null

MsgBox "Ihre E-Mail wurde verschickt!", vbDefaultButton4, "Mailmini"

ende:
Exit Sub

fehler:
MsgBox Error
Resume ende

End Sub

Günther Kramer
28.02.2001, 10:56
Hallo Franz,

hast du dir schon mal unseren AP-Serienmail-Manager angesehen? Vielleicht ist das Modul genau das, was du brauchst und suchst. http://www.access-paradies.de -> Software-Katalog -> AP-Serienmail-Manager

Heathen
28.02.2001, 11:31
Hallo Franz,
doch folgenden Code ein:


dim rs as Recordset
dim sqry as String


With objOutlookMsg
' Hinzufügen der "An"-Empfänger zu der Nachricht.
sqry = "SELECT * from [Abfrage]"
Set rs = CodeDb.OpenRecordset(sqry)
Do While Not rs.EOF
Set objOutlookRecip = .Recipients.Add(rs!Mail)
objOutlookRecip.Type = olTo
rs.MoveNext
Loop
rs.Close

Dann werden alle in der Abfrage berücksichtigten Empfänger (mit den CC's kannst Du genauso verfahren) eingetragen.
Hoffe, es hilft.

Franz Rührnößl
28.02.2001, 15:41
Hallo Heathen!
Ich habe deinen Code an der "Übergabestelle" eingebaut, aber es funktioniert leider noch immer nicht. Mein E-Mail Feld heißt [EMailAdresse]und ist im Texformat. Anstelle des * habe ich mein E-Mail-Feld eingegeben gefolgt von der Abfrage from [Abfrage Bezirksfunktioäre]. Dann kommt immer die Fehlermeldung, dass 1 paramater erwartet, aber nicht übergeben wurde. Liegt es vielleicht daran, dass nicht alle Funktionäre eine E-Mail-Adresse haben und somit das Feld leer ist?
Zusatzfrage: Das alles wird aber wohl nicht mehr ins Modul geschrieben, sondern in die Ereignisfunktion des BUTTONS, oder? Ich habe es mit beidem probiert, aber die Übergabe hat nirgendwo geklappt.

Irgendwie bin ich bei dieser Sache - ich habe mit dieser E-Mail-Geschichte zum allerersten Mal zu tun - verbohrt!

Für jeden Tipp dankbar

Franz

Jaeger81
28.02.2001, 15:50
Hi!

Hat einer von euch ne Ahnnung wie ich Mails ohne Outlook verschicke. Mit POP oder SMTP?

elmar
28.02.2001, 16:07
Haalo Franz, leider bist Du ein "unregistrierter" User des Forums. Ich habe eine komplette Lösung "Zugriff auf Outllook 2000 Daten" mit AC 2000. (nicht 97). Falls Interesse besteht: siehe mein Profil, email. Gruß Elmar