即効テクニック |
●概要● 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