●概要●
Accessのデータベースには、文字や数値の他にも、画像のようなバイナリデータも保存することができます。
以下のコードは、ADOのAppendChunkメソッドを使用してOLEオブジェクト型フィールドに画像を格納するサンプルです。
●サンプルプログラム●
Sub InsertImage()
Dim objRecordSet As Recordset ' レコードセット
Dim bytImage() As Byte ' 画像バイナリデータ
Dim nFileNo As Integer ' ファイル番号
' 格納するイメージデータを取得する
nFileNo = FreeFile
Open "c:\winnt\珈琲カップ.bmp" For Binary As nFileNo
ReDim bytImage(LOF(1) - 1)
Get nFileNo, , bytImage()
Close nFileNo
' レコードセットをオープンする
Set objRecordSet = CurrentDb.OpenRecordset("イメージ")
' レコードを追加する
objRecordSet.AddNew
objRecordSet.Fields("IMAGE").AppendChunk bytImage()
objRecordSet.Update
' レコードセットを閉じる
objRecordSet.Close
Set objRecordSet = Nothing
End Sub
●注意●
OLEオブジェクト型を使って画像を保存した場合、通常の画像フォーマットではなくOLE形式になることに注意して下さい。