HOME > 即効テクニック > AccessVBA > データ操作 > 画像を保存する(AppendChunkメソッド)

即効テクニック

データ操作

画像を保存する(AppendChunkメソッド)

(Access 2000/2002)
●概要●
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形式になることに注意して下さい。