如何使用存储在数据库字段中的相对路径在 ms access 2013 报告中显示图像

Posted

技术标签:

【中文标题】如何使用存储在数据库字段中的相对路径在 ms access 2013 报告中显示图像【英文标题】:How can I display an image in a ms access 2013 report using relative paths stored in a field of a database 【发布时间】:2016-10-26 14:55:50 【问题描述】:

我有一个简单的数据库,其中包含以下字段的表 tblUsers:

身份证号 名称-短文本 姓氏短文 图片-短文字

在图片字段中,我存储了每条记录的链接图像文件的相对路径(使用表单和文件对话框来选择图片)。 我目前正在尝试在页面布局上制作一个包含 9 个身份证的报告,其中对于每条记录,使用图像控件,通过重新创建文件的完整路径并将其分配给控件的图片来显示记录的图片属性。

所以,举个例子:

我有 9 条记录,字段图片的值等于:john_doe1.jpeg 到 john_doe9,存储为文本。 当我加载报告时,我希望能够看到附有各自照片的 9 张身份证。 我尝试使用此代码在报告中使用当前事件

Private Sub Report_current()
    Me.txtPathImg = Me.GetDBPath & [tblUsers.picture]
    Me.imgControl.Picture = Me.txtPathImg
End Sub

但我得到的只是报告中所有记录的一张图片。

如何在报表视图中为每条记录显示正确的图片?

【问题讨论】:

【参考方案1】:

使用绑定的图片控件,即设置它的控件源,例如

=GetDBPath() & "\" & [picture]

那么你就不需要任何代码了。

GetDBPath() 必须是一个公共函数。

或者在查询中构建完整路径,将该查询用作记录源,然后您可以直接将图像控件绑定到完整路径。

【讨论】:

感谢您的回答。我尝试使用您所说的控制源,但我不知道为什么即使我在 Report_Open 事件中创建了 GetDBPath() 公共函数,它也不起作用。然后我使用 CurrentProject.Path 在控制源中构建了照片的路径,它就像一个魅力。非常感谢。【参考方案2】:

你好 S.Overflow tbl1 学生:

ID_FullName - 数据类型:文本

Image_Path - dataType : 文本如 (D:\Imagefolder\FullName.jpg) 你知道吗?好的

............

现在从 tlblstudents 表创建报告向导,然后打开报告 ac 设计

好的:

从工具箱添加图像框

然后制作控制源:Image_path

.......

你不需要 VBA 代码来做到这一点

【讨论】:

请在发布答案时尝试格式化您的代码,并说明您的答案如何帮助解决 OP 的问题。

以上是关于如何使用存储在数据库字段中的相对路径在 ms access 2013 报告中显示图像的主要内容,如果未能解决你的问题,请参考以下文章

MS access 使用相对路径查询多个 MS Access 数据库

如何将arcgis的mxd文档存储为相对路径

如何在 MS Access 数据表视图中使用存储过程更新表数据

如何将日期从 C# 存储到 MS-Access 以及如何检索它?

如何在 Doxygen 配置中使用相对路径名

在运行 ASP.NET 的网站中,如何显示存储在 MS Access 2007 附件类型中的图像