【发布时间】:2016-10-11 18:01:30
【问题描述】:
我有一个包含 OLE 对象类型字段的表。然后我有一个包含多个字段的表单。有些只是文本字段。但是,我在表单上也有一个 Image 对象。当用户单击按钮时,会打开一个对话框,他们可以拍摄照片。一旦他们选择了照片,Image 对象就会显示该照片。我想将该图像保存到数据库。我所拥有的似乎只是在计算机上保存了对文件所在位置的引用。因此,如果移动数据库,这将不起作用。这是我的代码:
Dim wrkCurrent As DAO.Workspace
Dim dbs As DAO.Database
Dim rstPerson As DAO.Recordset
Set wrkCurrent = DBEngine.Workspaces(0)
Set dbs = CurrentDb
Set rstPerson = dbs.OpenRecordset("SELECT * FROM tbl_person WHERE id =" & ID)
With rstPerson
.Edit
!bio_photo = Me.Image37.picture
.Update
End With
如何将图像文件保存到 OLE 字段,以便稍后将其加载回表单上的图像对象?
谢谢
答案:
所以,我最终做的是关注此https://support.microsoft.com/en-us/kb/210486 [编辑:该链接现已失效,请尝试this]
我使用 readBLOB 函数读取文件并将其保存到数据库中。然后,当我运行报表或打开包含图片的表单时,onload,我使用 WriteBlob 函数将文件写入临时文件夹,然后使用该路径填充 Image 对象。
【问题讨论】:
-
OP 提供的链接已不再在线,但该文章仍可在此处的 Microsoft KB 存档中找到:mskb.pkisolutions.com/kb/210486
标签: ms-access vba ms-access-2007