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...
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
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
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)
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.
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
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..... ???
Super!!!!
Vielen vielen Dank....