Neuigkeiten:

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

Mobiles Hauptmenü

Bedingung erfüllt, dann E-Mailempfänger ändern

Begonnen von lutschi83, April 23, 2015, 13:24:21

⏪ vorheriges - nächstes ⏩

lutschi83

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...


MaggieMay

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
Freundliche Grüße
MaggieMay

lutschi83

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

DF6GL

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)

MaggieMay

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.
Freundliche Grüße
MaggieMay

lutschi83

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

DF6GL

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..... ???

lutschi83