Juni 21, 2021, 03:50:12

Neuigkeiten:

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


automatische E-Mail

Begonnen von Newbie12, Mai 12, 2021, 16:41:37

⏪ vorheriges - nächstes ⏩

Newbie12

Mai 12, 2021, 16:41:37 Letzte Bearbeitung: Mai 18, 2021, 13:05:00 von Newbie12
Hallo Liebes Forum,

ich möchte das beim Öffnen der Db  automatische Email gesendet wird. Dazu habe ich ein Makro Autoexec mit einer Funktion  erstellt nur leider funktioniert dieser nicht beim Starten der Datenbank es zeigt mir auch keinen Fehler im Code an..

Kann mir da jemand weiterhelfen?

Lg

steffen0815

Hallo,
funktioniert das Makro, wenn du es nach dem Öffnen der DB manuell startest?

Ansonsten zeig mal das Makro.
Gruß Steffen

Newbie12


DF6GL

Hallo,

wie Wäre es, auch den Code der Funktion zu posten?


Steht in allen (!) Modulköpfen "Option Explicit"? Falls nicht, dies nachholen und den Code kompilieren.

Newbie12

Mai 17, 2021, 14:00:51 #4 Letzte Bearbeitung: Mai 18, 2021, 13:06:29 von Newbie12
Hallo, mein Modul-Code

Option Compare Database
Option Explicit

Public Function ()
Dim db As DAO.Database, rs AS DAO.Recordset
Dim myMail As Outlook.MailItem, myOutlApp As Outlook.Application
Set db = CurrentDB()
Set rs = db.OpenRecordset
If Not rs.EOF And Not rs.BOF Then
rs.MoveFirst
Do While Not rs.EOF
Set myOutlApp=New Outlook.Application
Set myMail=myOutlApp.CreateItem(olMailItem)
With myMail
.To=
.Subject=
.Body=
.Send
End With
Set myMail=Nothing
Set myOutlApp=Nothing
rs.Edit
rs.MoveNext
Loop
End if
rs.Close
Ser rs=Nothing
Set db=Nothing
End Function

DF6GL

Mai 17, 2021, 14:10:00 #5 Letzte Bearbeitung: Mai 17, 2021, 14:39:42 von DF6GL
Hallo,


was ist der Sinn eines "leeren" MailItem-Objektes?


Zitat.
.
.

If Not rs.EOF And Not rs.BOF Then
rs.MoveFirst

Set myOutlApp=New Outlook.Application


Do While Not rs.EOF


Set myMail=myOutlApp.CreateItem(olMailItem)

With myMail
.To=  ?? ?? ?? ?? ?? ?
.Subject= ?? ?? ?? ?? ?? ?
.Body=  ?? ?? ?? ?? ?? ?? ?
.Send

End With

Set myMail=Nothing


rs.Edit
rs.MoveNext

Loop

Set myOutlApp=Nothing


End if
.
.
.


Newbie12

Mai 17, 2021, 14:19:05 #6 Letzte Bearbeitung: Mai 18, 2021, 13:03:50 von Newbie12
Hallo,

.To=Test@hotmail.com
.Subject=
.Body=""

DF6GL

Hallo,


führe die Funktion von Hand im VBA-Editor aus und setze vorher einen Haltepunkt an den Anfang des Codes.  Fahre dann mit Einzelschritt weiter und prüfe dabei den Inhalt aller Variablen und die Logik des Code-Ablaufs.


M. E. fehlt im Body oder Betreff die Angabe, um welches Fahrzeug und welche Ladung (mit Datum) es sich bei einer individuellen Mail überhaupt handelt.



Prüfe zudem, ob der SQL-String (Recordset-Abfrage) überhaupt Daten liefert (liefern kann), indem das SQL-Statement in den Abfrage-Entwurf in die SQL-Ansicht einkopiert und ausgeführt wird.


Newbie12

Hallo,
vielen Dank klappt jetzt einwandfrei!