HOME > 即効テクニック > AccessVBA > データ操作 > 画像を読み込む(GetChunkメソッド)

即効テクニック

データ操作

画像を読み込む(GetChunkメソッド)

(Access)
●概要●
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