Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: lutschi83 am April 23, 2015, 13:24:21

Titel: Bedingung erfüllt, dann E-Mailempfänger ändern
Beitrag von: lutschi83 am April 23, 2015, 13:24:21
Hallo Leute,
ich hoffe ihr könnt mir mal wieder weiterhelfen...
Ich habe in einer Verschrottungsdatenbank ein Formular Auftrag mit einem Unterformular "Formular".
Jetzt hätte ich gerne, wenn im Unterformular "Formular" das Textfeld "summe" den Wert 15000€ übersteigt, dann sollen im folgenden Code, die E-Mailempfänger ausgetauscht werden.
Private Sub button_email_Click()
Dim myOutlApp As Object
Dim myMail As Object

Set myOutlApp = CreateObject("Outlook.Application")
Set myMail = myOutlApp.CreateItem(olMailItem)

With myMail
    .To = "test.test@test.de"
   
    .cc = "tester.tester@test.de"
   
    .Subject = "Verschrottungsmeldung"
   
    .body = "Sehr geehrte/r Frau/Herr ," & vbCrLf & "" & vbCrLf & "die Verschrottungsmeldung" & vbCrLf & "" & vbCrLf & "file:///C:\Users\U0023593\Desktop\Datenbank\" & Me.Datum & "_ID_" & Me.Auftragsnr_ID & "_" & Me.Abteilung & "_" & Me.Ersteller & ".pdf" & vbCrLf & "" & vbCrLf & "steht zur Genehmigung." & vbCrLf & "" & vbCrLf & "Mit freundlichen Grüßen"
   
 
    '.Attachments.Add "C:\Users\U0023593\Desktop\Antrag.pdf"
       
    'Erst nur Anzeigen...
    .Display
   
    'sonst gleich senden...
    '.Send
End With

Set myMail = Nothing
Set myOutlApp = Nothing
End Sub


Ich weiß, dass ich das mit "If...." machen kann. Doch leider kann ich das Summenfeld nicht ansprechen...

Titel: Re: Bedingung erfüllt, dann E-Mailempfänger ändern
Beitrag von: MaggieMay am April 24, 2015, 13:28:42
Hallo,
ZitatDoch leider kann ich das Summenfeld nicht ansprechen...
was ist der Grund dafür?

Gib den Steuerelementen gescheite Namen, dann solltest du sie auch ansprechen können.

Beispiel:
Unterformular-Steuerelement: uf_ctl
Summenfeld im Unterformular: txt_summe
Bezugnahme auf das Summenfeld aus dem HF heraus: Me!uf_ctl.Form!txt_summe
Titel: Re: Bedingung erfüllt, dann E-Mailempfänger ändern
Beitrag von: lutschi83 am Mai 04, 2015, 14:13:58
Hallo, ich habe dass jetzt so gelöst, doch leider tut sich gar nichts mehr, wenn ich den Button via E-Mail senden verwende....

Private Sub button_email_Click()

If Me.Formular.Form!txt_Summe >= 5000 Then

Dim myOutlApp As Object
Dim myMail As Object

Set myOutlApp = CreateObject("Outlook.Application")
Set myMail = myOutlApp.CreateItem(olMailItem)

With myMail
    .To = "tesa@asdf"
    .bc = "tesgfasd@dsafda"
    .cc = "dsafda@dsfad"
   
    .Subject = "Verschrottungsmeldung"
   
    .body = "Sehr geehrte/r Frau/Herr ," & vbCrLf & "" & vbCrLf & "die Verschrottungsmeldung" & vbCrLf & "" & vbCrLf & "file:///C:\Users\U0023593\Desktop\Datenbank\" & Me.Datum & "_ID_" & Me.Auftragsnr_ID & "_" & Me.Abteilung & "_" & Me.Ersteller & ".pdf" & vbCrLf & "" & vbCrLf & "steht zur Genehmigung." & vbCrLf & "" & vbCrLf & "Mit freundlichen Grüßen"
   
 
    '.Attachments.Add "C:\Users\U0023593\Desktop\Antrag.pdf"
       
    'Erst nur Anzeigen...
    .Display
   
    'sonst gleich senden...
    '.Send
End With

Set myMail = Nothing
Set myOutlApp = Nothing

Else

Dim myOutlApp As Object
Dim myMail As Object

Set myOutlApp = CreateObject("Outlook.Application")
Set myMail = myOutlApp.CreateItem(olMailItem)

With myMail
    .To = "test@test"
   
    .cc = "tester@tester"
   
    .Subject = "Verschrottungsmeldung"
   
    .body = "Sehr geehrte/r Frau/Herr ," & vbCrLf & "" & vbCrLf & "die Verschrottungsmeldung" & vbCrLf & "" & vbCrLf & "file:///C:\Users\U0023593\Desktop\Datenbank\" & Me.Datum & "_ID_" & Me.Auftragsnr_ID & "_" & Me.Abteilung & "_" & Me.Ersteller & ".pdf" & vbCrLf & "" & vbCrLf & "steht zur Genehmigung." & vbCrLf & "" & vbCrLf & "Mit freundlichen Grüßen"
   
 
    '.Attachments.Add "C:\Users\U0023593\Desktop\Antrag.pdf"
       
    'Erst nur Anzeigen...
    .Display
   
    'sonst gleich senden...
    '.Send
End With

Set myMail = Nothing
Set myOutlApp = Nothing
End Sub
Titel: Re: Bedingung erfüllt, dann E-Mailempfänger ändern
Beitrag von: DF6GL am Mai 04, 2015, 14:34:19
Hallo

Warum hältst Du Dich nicht an den Vorschlag von MaggieMay... ?

Me.Formular.Form....

Ein Formular(-Steuerelement) "Formular" zu nennen, ist ziemlich daneben...(gescheite Namen: keine reservierten Wörter, Sonder- und Leerzeichen vermeiden, Eindeutigkeit gewährleisten,Prefixe verwenden)
Titel: Re: Bedingung erfüllt, dann E-Mailempfänger ändern
Beitrag von: MaggieMay am Mai 04, 2015, 17:40:08
Hi,

außerdem solltest du den Code kompilieren vor dem Testen. Die doppelte Deklaration der Objekte ist Unsinn und gar nicht zulässig. Deklarationen gehören grundsätzlich an den Anfang einer Prozedur.
Titel: Re: Bedingung erfüllt, dann E-Mailempfänger ändern
Beitrag von: lutschi83 am Mai 05, 2015, 07:31:30
Hi, danke für eure Vorschläge...
Aber ich bin VB-Technisch echt ne Niete....
Vielleicht könntet ihr mir mal einen konkreten Hinweis liefern, wie man sowas umsetzen kann...
Für mich sind das meistens nur spanische Dörfer  :o
Titel: Re: Bedingung erfüllt, dann E-Mailempfänger ändern
Beitrag von: DF6GL am Mai 05, 2015, 08:11:58
Hallo,

hast Du zwischenzeitlich die Benamsung korrigiert?


Ansonsten, wenn ich es richtig verstehe, was Du machen willst, im Hauptformular:
(woher kommen denn überhaupt die Email-Adressen?):


Private Sub button_email_Click()
Dim myOutlApp As Object
Dim myMail As Object

Set myOutlApp = CreateObject("Outlook.Application")
Set myMail = myOutlApp.CreateItem(olMailItem)


With myMail

If Me![UFO_Steuerelement]!txt_Summe >= 5000 Then

    .To =  "abc.def@xyz.com   
    .cc =   "bcd.efg@xyz.com     
Else
    .To =  "cde.fgh@xyz.com   
    .cc =   "def.ghi@xyz.com     
End If

    .Subject = "Verschrottungsmeldung"
   
    .body = "Sehr geehrte/r Frau/Herr ," & vbCrLf & "" & vbCrLf & "die Verschrottungsmeldung" & vbCrLf & "" & vbCrLf & "file:///C:\Users\U0023593\Desktop\Datenbank\" & Me.Datum & "_ID_" & Me.Auftragsnr_ID & "_" & Me.Abteilung & "_" & Me.Ersteller & ".pdf" & vbCrLf & "" & vbCrLf & "steht zur Genehmigung." & vbCrLf & "" & vbCrLf & "Mit freundlichen Grüßen"
   
 
    '.Attachments.Add "C:\Users\U0023593\Desktop\Antrag.pdf"
       
    'Erst nur Anzeigen...
    .Display
   
    'sonst gleich senden...
    '.Send
End With

Set myMail = Nothing
Set myOutlApp = Nothing
End Sub



Eigentlich solltest Du sowas selber hinbekommen..... ???
Titel: Re: Bedingung erfüllt, dann E-Mailempfänger ändern
Beitrag von: lutschi83 am Mai 05, 2015, 11:51:21
Super!!!!
Vielen vielen Dank....