【发布时间】:2018-03-27 19:40:45
【问题描述】:
我有一个 Access 2016 数据库用作 SQL Server 2008 Express 实例的前端。 WATER_FILES 表存在于 SQL Server 数据库中,并包含 Binary_File 类型的 varbinary(MAX) 列。
我正在尝试编写一个将文件上传到该列的 VBA 子例程。以下代码导致错误
需要对象
在运行时。此代码基于此不完整页面:https://msdn.microsoft.com/en-us/vba/access-vba/articles/work-with-attachments-in-dao#
我错过了什么?
Dim dbsGMEC As DAO.Database
Dim rstWater_Files As DAO.Recordset
Set dbsGMEC = CurrentDb
Set rstWater_Files = dbsGMEC.OpenRecordset("dbo_WATER_FILES", dbOpenDynaset, dbSeeChanges)
' Unclear if a single record should be opened
' Dim strSQL As String
' strSQL = "SELECT * FROM dbo_WATER_FILES WHERE OBJECTID = '2'"
' Set rstWater_Files = dbsGMEC.OpenRecordset(strSQL, dbOpenDynaset, dbSeeChanges)
' Activate edit mode.
rstWater_Files.Edit
' Instantiate the child recordset.
Dim rstFiles As DAO.Recordset
' THIS LINE GIVES THE ERROR "Runtime Error '424': Object Required"
Set rstFiles = rstWater_Files.Fields("Binary_File").Value
' Add a new attachment.
rstFiles.AddNew
rstFiles.Fields("FileData").LoadFromFile "C:\test.jpg"
rstFiles.Update
' Update the parent record
rstWater_Files.Update
【问题讨论】:
标签: sql-server-2008 dao ms-access-2016