【问题标题】:How to enter a single email address, where there can be more, in the To line of an email?如何在电子邮件的“收件人”行中输入一个电子邮件地址(可以有更多地址)?
【发布时间】:2021-06-07 18:04:33
【问题描述】:

当用户填写我的表单时,我让他们从 3 个组合框中选择最多 3 个电子邮件地址来发送报告。选定的电子邮件地址被放入一个字符串中以进入电子邮件的“收件人”行。

这是我的字符串:

[Email1] & ";" & [Email2] & ";" & [Email3]

当用户输入 3 个电子邮件地址时效果很好。

如果用户只选择 1 封电子邮件,我会收到错误消息。我想如果用户只选择 1 个电子邮件地址,它将作为空白输入。

【问题讨论】:

  • 在没有电子邮件地址可分离的情况下,您需要摆脱不必要的;
  • @SteveLovell 如果我删除 ; 然后 Outlook 无法识别电子邮件
  • 这意味着可能会在多个组合框中意外选择相同的电子邮件。
  • Outlook 通常不介意多余的分号。这是不可重现的。
  • 经过测试的连接将构建电子邮件字符串,例如:email;;email。 Outlook 不关心重复的分号或末尾缺少的分号。代码实际上删除了; 之一,因为加倍特殊字符会对其进行转义,因此只保留一个。此外,同一个电子邮件地址使用了两次,但只发送了一封电子邮件。我什至测试了;email。唯一的错误是如果没有提供电子邮件。正如@ErikA 所说,提供的代码无法重现。

标签: vba ms-access ms-access-2010


【解决方案1】:

考虑:

[Email1] + ";" & [Email2] + ";" & [Email3] + ";"

如果字段为 Null,+ 连接将返回 Null,并且不会出现不必要的 ;

使用&将字符串与Null连接返回字符串,而与+连接就像与Null相加,返回Null。

可能还应该确保在发送前至少提供一封电子邮件。

【讨论】:

    【解决方案2】:

    我在表格中的电子邮件末尾添加了;,从我的字符串中删除了;,现在这很完美。

    【讨论】:

    • 虽然这可能会“解决”您的问题,但您几乎肯定会为将来积蓄麻烦 - 例如,任何导入/导出此数据都需要处理这个分号。现在妥善处理会好得多。
    猜你喜欢
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 2018-08-21
    • 2017-10-21
    • 1970-01-01
    • 2010-12-04
    • 2021-06-27
    • 2020-12-01
    相关资源
    最近更新 更多