varbinary 数据类型如何存储图像供用户在 Access 前端查看?

How does varbinary datatype work to store image for a user to view in Access front end?

我做了一些研究,网络让我到处都是,但我仍然没有找到合适的解决方案或指南来实现我想要实现的目标。

我阅读了与我所问内容类似的 post。除了那是#php Retrieving Image in SQL Server (varbinary)

更新: "conventional"方式是创建文件目录和文件路径。这是我为用户启动前端和 运行 的最初方法。 我的 sup 实际上建议我使用这种胡说八道的哈希方法,他甚至无法向我正确解释。

用户必须能够在表单中插入图像,并生成显示该图像的报告。

varbinary 如何工作以达到 link sql 和 Access 的目的?我目前正在玩弄我的开发来解决它。

任何澄清? 在我第一次编辑后,我没有其他方式提出这个问题。

这是表格

对于每个表单条目,用户应插入一张图片以支持调查结果。

SQL服务器中的一个VARBINARY字段是一个存储二进制数据的字段,常用于存储文件。您可以在此字段中放置整个文件。

如果您在 SQL 服务器中有一个 VARBINARY 字段,并在访问 table 中使用该字段创建链接 table,它会被解释为OLE 对象,因为 OLE 对象也是二进制数据。

您可以使用 Access 中的 绑定对象框架 控件将图像保存到 OLE 对象中,既可以作为图像(可显示),也可以作为包。这不需要任何代码。您可以右键单击该字段 -> 插入对象 -> 位图图像以将位图图像插入到 OLE 字段中。但是,这会将 OLE 对象数据与图像数据一起存储,这使得使用代码 非常 很难工作,并且在非vba 个应用程序。在我看来,只有当您确定要在数据库的整个生命周期内坚持使用 Access 时,才可以使用这种方法。

我已经分享了一个使用 VBA 代码和 OLE 对象 的示例,但它使用了执行 GUI 操作的骇人听闻的代码。移植到其他应用程序几乎是不可能的。我建议您改用下一种方式。

或者,您可以直接将二进制数据存储在 OLE object/Varbinary 字段中。这使得处理使用 VBA 代码或任何未来应用程序变得容易得多,因为它只是存储在字段中的文件数据,没有存储 OLE 对象数据。我已经共享代码以在字段中加载二进制数据并将其保存回磁盘

如果您只是处理二进制图像数据,这个难题的难点在于向用户显示图像。我已经分享了 3 种方法 ,以及其中一种方法的代码。但是,那是相当复杂的 VBA 代码。