Я пишу скрипт, который доставляет письма из почтового ящика O365 в MS Access. Доступ к электронным письмам и экспорт вложений работает нормально. В БД могут быть созданы записи с отправителем, датой / временем, темой, телом и т. Д.
Однако я не могу добавить вложения в поле вложения БД.
Эта строка всегда генерируетсяошибка несоответствия типов:
Set rsAttach = rstDocs.Fields("Attachments").Value
rstDocs
уже использовалась для обновления других полей в записи - нет проблем.
Но мне нужен rsAttach
объект для загрузки файла вложения.
Уже пробовал многочисленные варианты создания и определения объекта rsAttach
. Я попробовал онлайн-примеры, и я в основном, согласно книге из MSDN и другим примерам с этого веб-сайта.
omEmail
- это объект электронной почты из Outlook. Он уже сохранен в TmpPath
, когда мы доберемся сюда.
Set cn = CreateObject("ADODB.Connection")
Set rstDocs = CreateObject("ADODB.Recordset")
Set rsAttach= CreateObject("ADODB.Recordset")
cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\data\CustService.accdb';Persist Security Info=False;"
cn.Open
rstDocs.Open "Documents;", cn, adOpenKeyset, adLockPessimistic, adCmdTable
rstDocs.AddNew
rstDocs("Sender").Value = omEmail.SenderEmailAddress
For Each Attachment In omEmail.Attachments
Set rsAttach = rstDocs.Fields("Attachments").Value ' ERROR HERE
rsAttach.AddNew
rsAttach.Fields("FileData").LoadFromFile TmpPath + Attachment.FileName
rsAttach.Update
Next
rstDocs.Update
rstDocs.Close