我很难找到有关此特定问题的任何信息。我发现的唯一信息是,这似乎是Access 2010中的一个错误(我希望他们在2013年修复它并且我根本不了解解决方案)。
我在访问vba中使用DoCmd.SendObject方法通过Outlook中的on_click事件发送电子邮件发送报告。我的代码似乎工作正常,电子邮件按预期发布。问题是,在运行代码后,即使报告已关闭,我也无法对作为报告记录源的表进行任何更改。我收到错误3211"无法锁定记录源,因为它正在使用中......"
我已删除了DoCmd.SendObject代码,并且在对表格进行更改时没有任何问题,我也没有收到错误。我假设该方法本身在Outlook和表之间建立某种链接或连接。
所以,我的问题是如何解决这个问题。是否有VBA代码可以在使用DoCmd.SendObject方法后终止outlook和表之间的链接/连接?
答案 0 :(得分:0)
对所有人来说,
我最终使用不同的方法发送电子邮件,最终解决了我的所有问题,结果证明比SendObject方法更灵活。下面是我使用的代码,希望你会发现它很有用:
(对于其他发现代码有用的人来说只是注意事项:我在其他地方使用代码来创建pdf文件,这就是pdf文件名是变量的原因)
'Create a new e-mail and attach previously created pdf
Dim strLocation As String
Dim OutApp As Object
Dim OutMail As Object
Dim EmailTo As Variant
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
EmailTo = DLookup("Email", "tblTempProcessing")
With OutMail
.To = EmailTo
.CC = ""
.BCC = ""
.Subject = "Subject Text"
.Body = "Body Text"
.Attachments.Add ("C:\Folder\SubFolder\" & Variable & ".PDF")
.Send
End With
On Error GoTo 0