我一直在寻找一种从访问表单中提取图像的方法。在 Google 上搜索几乎总是指向OLEtoDisk。该软件允许导出存储在访问表内的 OLE 字段中的图像。这不是我想要的。
我有一个带有一些徽标、标题和背景图像的表单。这些图像使数据库变得越来越大(因为它们嵌入在表单中)。我会提取它们,将它们与后端文件一起放在我们的服务器上,然后将它们添加回我的表单,但这次是作为链接图像而不是嵌入图像。
我希望我清楚自己。欢迎任何建议。
编辑:添加了我用来将图像控件的 PictureData 导出为图像文件的代码。此代码无法按预期工作。我发现 PictureData 是一个字节数组,但是在将它复制到一个文件中之后,我每两个字符得到一个 NUL 字符。
Public Function savePict(pImage As Access.Image)
Dim fname As String 'The name of the file to save the picture to
Dim iFileNum As Double
fname = Environ("Temp") + "\temp.png" ' Destination file path
iFileNum = FreeFile 'The next free file from the file system
Open fname For Binary Access Write As iFileNum
Dim tbyte As Variant
Dim i As Double
'Write the byte array to the file
For i = 0 To Len(pImage.PictureData)
Put #iFileNum, , pImage.PictureData(i)
Next i
Close #iFileNum
End Function