我有一个表格,其字段是OLE Object类型。然后我有一个包含许多字段的表单。有些只是文本字段。但是,我在表单上也有一个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字段,以便以后可以将其加载回窗体上的Image对象?
由于
答案:
所以,我最终做的是遵循这个https://support.microsoft.com/en-us/kb/210486
我使用readBLOB函数读取文件并将其保存到数据库中。然后,当我运行报表或打开包含图片onload的表单时,我使用WriteBlob函数将文件写入临时文件夹,然后使用该路径填充Image对象。
答案 0 :(得分:1)
当您开始嵌入图像时,数据库可能会变得非常大,导致查询速度变慢,崩溃,超时和用户不满意。将图像添加到数据库时要小心使用OLE
简单的Google搜索有how to load ole object from folder into table
此网站上的搜索结果为auto attach images using vba