2016-07-24 4 views
0

Ich habe eine Schaltfläche in meinem Access-Teilformular, die je nach Wert in einem Kombinationsfeld eine neue E-Mail basierend auf einer bestimmten Vorlage erstellt. Die meisten dieser Vorlagen haben bereits eine vorhandene E-Mail-Adresse. Dies muss in den meisten Fällen auf die E-Mail-Adresse im Elternformular des Unterformulars ersetzt werden (und das wird mit dem aktuellen Code getan), aber wenn der Wert des Kombinationsfelds ist, sagen wir 'x' oder 'y' Dann sollte eine zweite E-Mail in ein zweites Formular eingefügt werden, in dem das Hauptformular und das zweite Formular verknüpfte Felder enthalten. Der Code, den ich bisher haben:Ändern der E-Mail-Adresse von E-Mail-Empfängern bedingt mit vba

If Me![cboEmail].Value = "Your patient Initial" Then 
oMail.To = Nz(DLookup("[strEmail]", "tblAddress", "[longDoctorID] = " & Me.Parent!longDoctorID)) 
ElseIf Me![cboEmail].Value = "Follow Up of your patient" Then 
oMail.To = Nz(DLookup("[strEmail]", "tblAddress", "[longDoctorID] = " & Me.Parent!longDoctorID)) 
Else 
oMail.To = Me.Parent![strEmailAddress].Value 
End If 

Was nicht ist die ersten beiden Bedingungen nicht funktioniert, wo der Wert „Ihr Patient initial“ ist oder wenn es „Up Ihrem Patienten Follow“ Jede Hilfe wird werde geschätzt!

+0

Was genau * nicht funktioniert *? – Andre

Antwort

0
[longDoctorID] = " & Me.Parent!longDoctorID) 

Ist dies eine Zeichenfolge oder eine ganze Zahl? Wenn es eine Zeichenfolge ist, muss es zwei einzelne enthalten. Zitate

Ich verstehe nicht den Grund für Nz, wenn Sie nicht den leeren Wert angegeben haben? Sie versuchen dann, um E-Mail zu senden „“

Debug.print Me![cboEmail].Value 

Was es Ihnen nicht geben?

+0

@Andre & Dave, Danke für deine Antwort. [longDoctorID] = "& Ich.Parent! LongDoctorID gibt eine ganze Zahl Ich bin ein Endbenutzer im DIY-Modus, wo ich regelmäßig meine Datenbank mit Funktionen aktualisieren, wenn ich es brauche. Also mit diesem Code, in dem Zustand, wo Ihr Patient Initial oder Follow-up Ihres Patienten wird ausgewählt, eine E-Mail basierend auf der ausgewählten Vorlage wird geöffnet, aber das An: -Feld enthält die Standard-E-Mail-Adresse der Vorlage. Wenn es ein anderer Wert ist, enthält das An: -Feld die korrekte E-Mail-Adresse des derzeitiger Rekord. –

0

Es tut mir leid, Jungs, Sie hatten Recht mit der Frage, was nicht funktioniert? Weil es Code funktionierte! Als ich die Debug.Print-Zeile eingab, gab es einen leeren Wert, da in der ursprünglichen Tabelle kein Wert war und daher die Standard-E-Mail-Adresse angegeben wurde. Entschuldigung, dass du deine Zeit verbraucht hast. Dieser originale Code funktioniert. Danke, dass Sie sich mit dem Problem befasst haben.