我有一个MS-Access应用程序(1/10 MS-Acccess,9 / 10ths MS-SQL)需要显示某些资产的照片及其规格。目前,图像作为OLE对象存储在MS-Access表中(并由用户复制粘贴到字段中)。
由于各种原因,我想将原始.jpgs存储在网络驱动器上的文件夹中,并从应用程序部分引用它们。我考虑过转入MS-SQL的图像数据类型(及其替换的varbinary),但我认为我的用户群将更容易掌握网络文件夹的概念。
如何让MS Access显示.jpg的内容?
答案 0 :(得分:7)
另一种选择是在表单上放置一个图像控件。该控件(图片)的属性只是图像的路径。以下是VBA中如何使用它的简短示例。
txtPhoto将是一个绑定到数据库字段的文本框,其中包含图像的路径 imgPicture是图像控件 该示例是一个按钮的单击事件,该按钮将前进到下一条记录。
Private Sub cmdNextClick()
DoCmd.GoToRecord , , acNext
txtPhoto.SetFocus
imgPicture.Picture = txtPhoto.Text
Exit Sub
End Sub
答案 1 :(得分:3)
答案 2 :(得分:2)
我发现微软发布的完整VBA的这篇文章对我来说效果非常好。
How to display images from a folder in a form, a report, or a data access page
答案 3 :(得分:0)
最简单的方法可能是将Internet Explorer放到其中一个表单上。查看此网站:http://www.acky.net/tutorials/vb/wbrowser/
由于您可以在Access中引用该对象,因此您只需将webbrowser控件指向.jpg的路径(如果我没记错的话,可以使用NavigateTo())。
编辑:以上链接只是用Google搜索并从结果中挑选出来(第一个快速打开的链接)。我不认为这是一个非常好的教程,它只是你需要的所有指针...如果你需要更多的信息,请查看msdn等!
答案 4 :(得分:0)
您可以尝试一个名为AccessImagine的ActiveX控件,使图像更方便地添加到数据库中 - 您可以从文件加载,扫描,从缓冲区粘贴或拖放。您可以在数据库内直接裁剪图像并自动重新取样。如果需要,它会自动处理外部图像存储。
答案 5 :(得分:0)
请注意,在Access 2010(及更高版本)中,这很简单,因为Image控件可以绑定到包含图像文件的路径的表中的字段(.jpg, .png,...)。无需VBA。
有关详细信息,请参阅我的其他答案here。