アクセスフォームから画像を抽出する方法を探していました。Googleでの検索は、ほとんどの場合OLEtoDiskを指します。このソフトウェアを使用すると、アクセステーブル内のOLEフィールドに保存されている画像をエクスポートできます。これは私が望むものではありません。
いくつかのロゴ、ヘッダー、背景画像を含むフォームがあります。これらの画像は、データベースをますます大きくしています(フォームに埋め込まれているため)。それらを抽出し、バックエンドファイルと一緒にサーバーに配置してフォームに追加しますが、今回は埋め込み画像ではなくリンク画像として追加します。
私は自分自身を明確にしていることを願っています。どんな提案でも大歓迎です。
編集:画像コントロールのPictureDataを画像ファイルとしてエクスポートするために使用しているコードを追加しました。このコードは意図したとおりに機能しません。PictureDataはバイト配列であることがわかりましたが、ファイルにコピーした後、2文字ごとに1つの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