我在Access表单上有一个按钮,该按钮将电子邮件排队,并链接到表单上的多个字段。昨天和今天早上,该按钮正常工作。我没有更改基础代码或表单中的任何字段,但是单击按钮时突然按钮返回了Run-time error '2293': Microsoft Access can't send this e-mail message
错误消息。代码示例如下:
Private Sub cmd_Button_Click()
Dim toaddress As String
Dim ccaddress As String
Dim subject As String
Dim message As String
toaddress = AddMailAddress(toaddress, Nz(Me.cmb_ProjectLead.Column(1), ""))
toaddress = AddMailAddress(toaddress, Nz(Me.cmb_ProjectLead2.Column(1), ""))
ccaddress = AddMailAddress(ccaddress, Nz(Me.cmb_OtherPOC.Column(1), ""))
ccaddress = AddMailAddress(ccaddress, Nz(Me.cmb_OtherPOC2.Column(1), ""))
subject = "text" & me.txb_ProjectName
message = "text" & me.txb_ProjectName & vbnewline & me.txb_ProjectLocation & vbnewline & me.txb_ProjectDescription
DoCmd.SendObject acSendNoObject, , , toaddress, ccaddress, , subject, message, True
End Sub
当我在错误消息上单击“调试”时,DoCmd.SendObject acSendNoObject, , , toaddress, ccaddress, , subject, message, True
行以黄色突出显示,并带有黄色箭头。
一些说明可能会有所帮助:我正在工作发布的计算机上工作,并且没有管理员权限,因此无法更改某些属性。我必须使用具有相当严格的安全标准的VPN。重申一遍,直到今天。实际上,对于同一条记录,它工作了片刻,然后在30秒后不起作用。
*更新:当我剥离了sendobject行以外的所有内容并用文本替换值时,该命令起作用了,即
Private Sub cmd_Button_Click()
DoCmd.SendObject acSendNoObject, , , "toaddress", "ccaddress", , "subject", "message", True
End Sub
[当我只添加toaddress
和ccaddress
时,收到2293错误消息。
*可能有帮助的其他信息:此表单具有多个“电子邮件发送至”按钮以及一些“将Outlook约会发送至”按钮。直到今天早上,它们都还可以正常工作,但是现在单击它们时会生成各种错误消息。它们都使用与我的示例相同的toaddress, ccaddress, subject, message,
等格式。
也链接到这些命令的公共功能如下:
Public Function AddMailAddress(address As String, newaddress As String)
If (address = "") And (newaddress = "") Then
Exit Function
End If
If address = "" Then
address = newaddress
Else
If Not newaddress = "" Then
If VBA.Right(address, 1) = ";" Then
address = address & newaddress
Else
address = address & ";" & newaddress
End If
End If
End If
AddMailAddress = address
End Function
关闭数据库并重新打开数据库后,电子邮件按钮现在可以工作。仍然不知道为什么它之前给了我运行时错误。如果再次发生,我将再次添加更多见解。