将图像从附件字段加载到表单中的图像控件

时间:2019-04-17 19:54:46

标签: access-vba dao

我有一个表[tb_projects],其中有很多字段,包括附件字段[P_IMAGE]

我还有一个带有图像控件[img_project]的表单,我想在该表单上显示特定记录的tb_projects表中的图像。

GlobalData.getProjectSelected这是一个返回当前项目的函数

到目前为止,我的代码:

Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim rstAtt As Recordset
Dim sqlSelect As String

sqlSelect = "SELECT * FROM [tb_projects] WHERE [PROJECT_ID] = '" & GlobalData.getProjectSelected & "'"

Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(sqlSelect, dbOpenSnapshot)
Set rstAtt = rst.Fields("P_IMAGE").Value

Me.img_project.Picture = rstAtt.Fields("FileData").Value

rst.Close
rstAtt.Close

Set dbs = Nothing
Set rst = Nothing

这使我出错:该属性的设置太长

如何在不将文件保存到%TEMP%并加载图像控件路径的情况下完成此操作? DAO甚至有可能吗?

1 个答案:

答案 0 :(得分:0)

属性Picture的值为string。要显示的图片的路径。

使用属性PictureData来拍摄图片Byte Array。确保您的数据库字段[P_IMAGE]具有有效的字节数组。