使用vba有条件地更改邮件收件人电子邮件地址

时间:2016-07-24 08:13:34

标签: vba outlook access-vba

我的Access子窗体上有一个按钮,它根据特定模板创建一个新的电子邮件,具体取决于组合框中的值。这些模板中的大多数已经具有现有的To:电子邮件地址。 在大多数情况下(这是使用当前代码完成),必须将其替换为子窗体的父窗体中的电子邮件地址,但如果组合框的值是,则说“' x'或者' y'然后它应该以第二种形式插入另一封电子邮件,其中主表单和第二表单具有链接字段。 我到目前为止的代码:

    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

什么不起作用是前两个条件,其中值是"您的患者初始"或者如果它是"跟进您的患者" 任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

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

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

当您未指定空值时,我不明白Nz的原因?您正在尝试发送电子邮件至“”

Debug.print Me![cboEmail].Value

它给你带来了什么?

答案 1 :(得分:0)

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