●概要●
Accessのデータベースには、文字や数値の他にも、画像のようなバイナリデータも保存することができます。
以下のコードは、GetChunkメソッドを使用してOLEオブジェクト型フィールドに格納されている画像データをローカルなファイルに出力するサンプルです。
Sub GetImage()
Dim objRecordSet As Recordset ' レコードセット
Dim bytImage() As Byte ' 画像バイナリデータ
Dim nFileNo As Integer ' ファイル番号
Dim nSize As Long ' サイズ
' レコードセットをオープンする
Set objRecordSet = CurrentDb.OpenRecordset("イメージ")
' レコードサイズを取得する
nSize = objRecordSet.Fields("IMAGE").FieldSize
' レコードサイズ分のバイナリデータを読み込む
bytImage() = objRecordSet.Fields("IMAGE").GetChunk(0, nSize)
' 画像データをファイルに書き出す
nFileNo = FreeFile
Open "c:\temp.bmp" For Binary As #nFileNo
Put #nFileNo, , bytImage()
Close #nFileNo
' レコードセットを閉じる
objRecordSet.Close
Set objRecordSet = Nothing
End Sub