首页 > 解决方案 > 将图像从附件字段加载到表单中的图像控件

问题描述

我有一个表 [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 实现吗?

标签: ms-accessvbadao

解决方案


该属性Picture需要一个string值。要显示的图片的路径。

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


推荐阅读