2016-07-24 135 views
0

我的Access子窗体上有一个按钮,它根据组合框中的值创建基于特定模板的新电子邮件。大多数这些模板已经有一个现有的To:电子邮件地址。 在大多数情况下(这是用当前代码完成的),这必须替换为子窗体父窗体中的电子邮件地址,但如果组合框的值是'x'或'y'那么它应该在第二种形式中插入另一封电子邮件,其中主窗体和第二种形式具有链接字段。 是我到目前为止的代码:有条件地用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 

什么不工作是前两个条件,其中值是“你的病人最初的”,或者如果它是“跟进您的病人” 任何帮助将不胜感激!

+0

什么*不起作用*? – Andre

回答

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

这是一个字符串还是一个整数?如果它是一个字符串,它需要包含两个单独的字符串。报价

我不明白Nz当你没有指定空值的原因?您然后尝试发送电子邮件到“”

Debug.print Me![cboEmail].Value 

它给你什么?

+0

@Andre&Dave,谢谢你的回答。 [longDoctorID] =“&Me.Parent!longDoctorID给出一个整数 我是一个DIY模式的最终用户,我定期更新数据库的功能,当我需要它时,所以在这个代码中,选择患者的初始或随访时,会打开基于选定模板的电子邮件,但收件人:字段包含模板的默认电子邮件地址,而如果它是任何其他值,则收件人:字段将包含正确的电子邮件地址当前记录。 –

0

我很抱歉,你是对的,问什么不行?因为它是工作代码!当我放入Debug.Print行时,它给出了一个空值,因为原始表中没有值,因此给出了默认的电子邮件地址。 对不起,你的时间用完了。该原始代码有效。感谢您查看此问题。

相关问题