如何从Access窗体字段获取正确邮箱更新邮件收件人(To)字段?
解决Access邮件收件人重复带#的问题
你的问题出在[emailadd]字段的取值上,看起来这是一个Access的多值字段,这类字段默认返回的格式会用#分隔重复值(或多值选项),导致收件人出现重复邮箱加#的情况。以下是两种修复方案:
方案1:直接提取多值字段的单个值
如果[emailadd]是多值字段,直接调用字段的Value属性获取第一个有效值:
EmailSend.To = [emailadd].Value(1) ' Access多值字段索引从1开始
或者用Item方法:
EmailSend.To = [emailadd].Item(1)
方案2:字符串处理清除多余内容
如果是字符串格式的重复值,用Split函数拆分后取第一个元素:
' 按#拆分字符串,取第一个部分 EmailSend.To = Split([emailadd], "#")(0)
另外注意你的代码里Body部分最后一行多了一个& _,会导致编译错误,需要删除:
EmailSend.Body = "Hello," & vbCrLf & vbCrLf & _ "The project" & " " & [Forms]![WorkordersVR]![Project] & " " & "is ready for pickup." & vbCrLf & vbCrLf & _ "Thank you!" & vbCrLf & vbCrLf & _ "Person sending email here" & vbCrLf ' 去掉末尾的& _
测试后,收件人就能正常显示单个邮箱地址了。
内容的提问来源于stack exchange,提问作者AngelJS
相关产品推荐
相关产品推荐

