我在“访问”表单上有一个按钮,该按钮使电子邮件排队并链接到表单上的多个字段。昨天和今天早上,该按钮正常工作。我尚未更改表单中的基础代码或任何字段,但是单击按钮时突然按钮返回了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
答案 0 :(得分:0)
关闭数据库并重新打开数据库后,电子邮件按钮现在可以工作。仍然不知道为什么它之前给了我运行时错误。如果再次发生这种情况,我会回来添加更多见解的。
答案 1 :(得分:0)
任何时候我收到此错误,都与数据库或代码无关,这仅仅是由于我打开了一个我已忘记的当前正在编辑的Outlook项目而导致的事实。
当前在编辑模式下打开一个Outlook项目时,Access无法创建新的Outlook项目。
关闭在编辑模式下打开的所有Outlook项目,然后重试。