访问VBA:无效的字段数据类型

问题描述 投票:1回答:1

使用Access VBA,我试图将目录中的文件加载到[table name]字段中的表[field name],其中Data TypeAttachment

问题是我得到错误Invalid field data type

enter image description here

代码如下。

Dim SQL As String
SQL = " SELECT * FROM [table name] WHERE ID = '10'"

Dim VESRecordSet As Recordset
Set VESRecordSet = CurrentDb.OpenRecordset(SQL)

VESRecordSet![field name].LoadFromFile "D:\Documents\file.vsd"
access-vba
1个回答
0
投票

您犯了多个错误:

  1. 要使用附件,您应该使用DAO.RecordSet2对象
  2. 在使用.LoadFromFile之前,需要打开包含文件数据的子记录集
  3. 在编辑和更新记录集时,您应该使用.Edit.Update

最终代码:

Dim SQL As String
SQL = " SELECT * FROM [table name] WHERE ID = '10'"

Dim VESRecordSet As DAO.Recordset2
Dim rsAttachments As DAO.Recordset2
Set VESRecordSet = CurrentDb.OpenRecordset(SQL)

VESRecordSet.Edit
Set rsAttachments = VESRecordSet![field name].Value
rsAttachments.AddNew
rsAttachments.Fields("FileData").LoadFromFile "D:\Documents\file.vsd"
rsAttachments.Update
rsAttachments.Close
VESRecordSet.Update
VESRecordSet.Close
© www.soinside.com 2019 - 2024. All rights reserved.