Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Mail nach dem Senden speichern

Begonnen von gromax, Dezember 31, 2015, 13:38:07

⏪ vorheriges - nächstes ⏩

markusxy

Zitat von: DF6GL am Januar 23, 2016, 19:57:13
naja, anstrengen muss ich mich nur dabei, nicht zu viel zu grinsen.... ;D ;D

Dann freue ich mich, dass du Deinen Spass hattest.

Zitat von: DF6GL am Januar 23, 2016, 19:57:13

Nichtsdestotrotz löst das Send-Event nicht das Ausgangs-Problem, eine Mail erst nach evtl. manuellen Änderungen beim Versenden und mit den Änderungen zu speichern.

Das ItemSend-Event dagegen schon.


Was du bei der Aussage gedacht hast, frage ich mich aber schon, zumal ich schon mitgeteilt habe, dass ich es getestet habe.
Ein Event startet einen Code und sonst gar nichts.
Zufällig handelt es sich um um und dasselbe Event von zwei verschiedenen Objekten ausgelöst.
Einmal von der Mail selbst und einmal von Outlook und daher hat man in beiden fällen den Zugriff auf das veränderte Mail um es zu speichern.
Die Erkenntnis, dass auch andere wissen wovon sie reden könnte helfen, sich nicht lächerlich zu machen.

LG

gromax

Hallo Franz,

nach geraumer Zeit und entsprechenden "Umbau-Maßnahmen" an meiner DB greife ich Deine Lösung zum Speichern der Mails nach dem Senden mit der Bitte um erneute Hilfestellung nochmals auf.

Ich habe Deinen Code eingefügt, angepasst und ausprobiert - aber es klappt nicht?!

Vorab zur Konfiguration des Mail-Aufrufs:

Im Formular frm_SCHUELER03 sind die Grund-Daten zum jeweiligen Schüler hinterlegt; im Unterformular frm_SCHUELER-ufoBearbeitung03 werden nun Daten eingegeben, die sich zusammen mit den Grunddaten in den Mails wiederfinden.

Jetzt wird bei Bedarf ein Formular geöffnet, das den Aufruf zweier Mails anstößt, eine an die Stammschule und eine an die beauftragte Schule (vgl. Anlage).


Private Sub opt_picFrist_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  MailAufruf (1)
  DoCmd.Close acForm, "frm_MailAuftrag_Auswahl"
End Sub
Private Sub opt_picNachfrist_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  MailAufruf (2)
  DoCmd.Close acForm, "frm_MailAuftrag_Auswahl"
End Sub
Private Sub opt_picWordInfo_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  MailAufruf (3)
  DoCmd.Close acForm, "frm_MailAuftrag_Auswahl"
End Sub


Sub MailAufruf(intEingabe As Integer)
   
    If intEingabe = 1 Then
'    Call Forms("frm_SCHUELER03").frm_Schueler_ufoBearbeitung03.Form.btn_OutlookBeauftragung_Click
    Call btn_OutlookBeauftragung
    End If
    If intEingabe = 2 Then
'    Call Forms("frm_SCHUELER03").frm_Schueler_ufoBearbeitung03.Form.cmd_nachFristOutlook_Click
    Call cmd_nachFristOutlook
    End If
    If intEingabe = 3 Then
'    Call Forms("frm_SCHUELER03").frm_Schueler_ufoBearbeitung03.Form.btn_WordInfo_Click
    Call btn_WordInfo
    End If

End Sub



Der Aufruf btn_OutlookBeauftragung ist in einem Modul mit 'Public Sub btn_OutlookBeauftragung()' abgelegt.

Jetzt weiß ich nicht, wo ich Deine Code-Beispiele einarbeiten muss; könntest Du mir da ein wenig in die Spur helfen?

Vielen Dank vorab!

Viele Grüße
gromax

p.s.: Alles Beispiel-Daten! Kein Grund zur Besorgnis!



DF6GL

Hallo,

am Besten zeigst Du den Code, mit dem die Mail generiert und angezeigt wird... (.Send, .Display)...
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

gromax

Hallo Franz,

mache ich natürlich gerne!


Public Sub btn_OutlookBeauftragung()
    Dim strDatei As String
    Dim myMail As Outlook.MailItem
    Dim myOutlApp As Outlook.Application
    Dim strText1 As String
    Dim strText3 As String
    Dim strSoSPfad As String
    Dim db As DAO.Database
    Dim RS As DAO.Recordset
    Dim lngConnect As Long
    Dim DZ As Long
    Dim lng As Integer
    Dim SuS_Name As String
    Dim SuS_GebDat As String
    Dim BEA_AntragSchule As Date
    Dim BEA_AntragEltern As Date
   
SuS_Name = DLookup("[SuS_Name]", "tbl_SCHUELER", "SuS_PS =" & Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!SuS_FS)
SuS_GebDat = DLookup("[SuS_GebDat]", "tbl_SCHUELER", "SuS_PS =" & Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!SuS_FS)
BEA_AntragSchule = DLookup("[BEA_AntragSchule]", "tbl_BEARBEITUNG_SCH_VER", "BEA_PS =" & Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!BEA_PS)
BEA_AntragEltern = DLookup("[BEA_AntragEltern]", "tbl_BEARBEITUNG_SCH_VER", "BEA_PS =" & Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!BEA_PS)

Set db = CurrentDb
Set RS = db.OpenRecordset("SELECT DISTINCT database" _
         & " FROM msysObjects" _
         & " WHERE Type = 6", dbOpenDynaset)
         
lngConnect = RS.RecordCount
If lngConnect > 0 Then
    strSoSPfad = CurrentDb.TableDefs("tbl_SCHUELER").Connect
    strSoSPfad = Mid(strSoSPfad, 11)
    strSoSPfad = Left(strSoSPfad, InStrRev(strSoSPfad, "\")) & "Bestand\"
Else
    strSoSPfad = CurrentProject.Path & "\Bestand\"
End If
    strSoSPfad = strSoSPfad & SuS_Name & " _ " & SuS_GebDat

   strText3 = "Allgemeine Schule:"

If Not IsNull(Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!BEA_AntragSchule) And IsNull(Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!BEA_AntragEltern) Then
      strText1 = "der Antrag der Allgemeinen Schule"
      ElseIf Not IsNull(Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!BEA_AntragEltern) And IsNull(Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!BEA_AntragSchule) Then
      strText1 = "der Elternantrag"
      Else
      strText1 = "der Antrag"
End If

''''''''''''''''''''''''''''''''''''''''''''''''''''Mail an die beauftragte Schule

    Set myOutlApp = New Outlook.Application
    Set myMail = myOutlApp.CreateItem(olMailItem)

    If Dir(strSoSPfad, vbDirectory) = "" Then
    Call MsgBox("Es besteht kein Ordner für diesen Schüler!" _
    & vbCrLf & "Bitte richten Sie zuerst einen Ordner ein, so dass" _
    & vbCrLf & "diese Mail dann auch gespeichert werden kann!", vbOKOnly + vbInformation, "Mail-Versand wird unterbrochen")
    Exit Sub
    End If
   
    strDatei = Dir$(strSoSPfad & "\*.*")
    Do While Len(strDatei) > 0
    lng = lng + 1
    strDatei = Dir$()
    Loop
    DZ = lng

    With myMail
        .To = DLookup("[EIN_Mail]", "qry_EINRICHTUNGEN_sortiert2", "SCH_PS =" & Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!BEA_AuftragSchule)
        .Subject = "Gutachten zu " & DLookup("[SuS_Name]", "tbl_SCHUELER", "SuS_PS =" & Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!SuS_FS)
        .Body = Textkörper
        .Display
        .SaveAs (strSoSPfad) & "\" & SuS_Name & " " & Format(CStr(DZ + 1), "00") & " Beauftragung SBBZ " & ".msg"
       
    End With

    Set myMail = Nothing
    Set myOutlApp = Nothing

''''''''''''''''''''''''''''''''''''''''''''''''''''Mail an die Stammschule
    Set myOutlApp = New Outlook.Application
    Set myMail = myOutlApp.CreateItem(olMailItem)

    With myMail
        .To = DLookup("[EIN_Mail]", "tbl_EINRICHTUNGEN", "EIN_PS =" & Forms!frm_SCHUELER03!EIN_FS)
        .Subject = "Gutachten zu " & DLookup("[SuS_Name]", "tbl_SCHUELER", "SuS_PS =" & Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!SuS_FS)
        .Body = Textkörper
        .Display
        .SaveAs (strSoSPfad) & "\" & SuS_Name & " " & Format(CStr(DZ + 2), "00") & " Information Stammschule " & ".msg"

    End With
    Set myMail = Nothing
    Set myOutlApp = Nothing

End Sub



Viele Grüße
gromax

DF6GL

Hallo,

na gut,  habe ich hier doch beschrieben:

http://www.access-o-mania.de/forum/index.php?topic=20948.msg118731#msg118731
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

gromax

Hallo Franz,

vielen Dank; ich habe nicht genau hingeschaut - sorry! Werde am Wochenende diese Umsetzung in Angriff nehmen.
Ich melde mich dann wieder!

Viele Grüße
gromax