Доступ - Экспорт изображений из элементов управления изображениями в формах
I have been searching for a way to extract images from access forms. A search on Google will nearly always point to 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