【问题标题】:Change mail recipients email address conditionally with vba使用 vba 有条件地更改邮件收件人的电子邮件地址
【发布时间】:2020-07-13 20:01:31
【问题描述】:

我的 Access 子表单上有一个按钮,它根据组合框中的值创建基于特定模板的新电子邮件。这些模板中的大多数已经有一个现有的收件人:电子邮件地址。 在大多数情况下,必须将其替换为子表单的父表单中的电子邮件地址(这是使用当前代码完成的),但如果组合框的值是“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

前两个条件不起作用,其中值为“您的患者初始值”或“您的患者的随访” 任何帮助将不胜感激!

【问题讨论】:

  • 究竟是什么不起作用

标签: ms-access outlook vba


【解决方案1】:
[longDoctorID] = " & Me.Parent!longDoctorID)

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

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

Debug.print Me![cboEmail].Value

它给了你什么?

【讨论】:

  • @Andre & Dave,感谢您的回答。 [longDoctorID] = " & Me.Parent!longDoctorID 给出一个整数 我是 DIY 模式的最终用户,我会在需要时定期更新我的数据库的功能。因此,使用此代码,在您的患者初始或选择跟进您的患者,打开基于所选模板的电子邮件,但收件人:字段包含模板的默认电子邮件地址,而如果它是任何其他值,收件人:字段包含当前记录的正确电子邮件地址.
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    相关资源
    最近更新 更多