1

我正在尝试编写一个简单的小例程来通过电子邮件发送存储在 Access 2007 数据库中的附件。出于某种原因,我无法让它最简单的部分工作。

我在以下行收到一条错误消息“未定义用户定义的类型”:

Dim attachmentField As DAO.Field2

现在到目前为止,我还没有访问任何 DAO 对象,但我的假设是我只需要添加相关的引用。问题是,我似乎对那个参考是什么有误解。我已经尝试过有意义的“Microsoft DAO 3.6 Object Library”,但我仍然收到相同的错误消息。然后我尝试了 3.5 个相同的,然后是 JET,然后又尝试了几个,但意义不大。

这是完整的清单,以防我错过了其他真正基本的东西。我知道它需要大量的清理工作,但我想先让它工作。

Private Sub Command4_Click()
  Dim appOutLook As Outlook.Application
  Dim MailOutLook As Outlook.MailItem
  Set appOutLook = CreateObject("Outlook.Application")
  Set MailOutLook = appOutLook.CreateItem(olMailItem)

  With MailOutLook
    .To = Description.Value
    .Subject = "Confirmation of " & ID.Value

    'Error on the next line
    Dim attachmentField As DAO.Field2
    attachmentField = Recordset("Att")
    attachmentField.SaveToFile "C:\Temp\" & Att.FileName
    Attachments.Add "C:\Temp\" & Att.FileName, olByValue, 1, "Document"

    '.DeleteAfterSubmit = True
    .Send
  End With
End Sub

有任何想法吗?

4

2 回答 2

4

您需要参考 DAO 版本 12 - 它支持新的 FIELD2 对象

尝试添加此参考 - “Microsoft Office 12.0 Access 数据库引擎”

于 2009-07-28T22:12:37.833 回答
-2

将行更改为

 Dim attachmentField As DAO.Field

另外,Recordset 是从哪里来的?它在哪里填满了记录?

于 2009-07-28T22:06:56.240 回答