AccessOLE型オブジェクトデータ取得<ADO>について


ado  2003-06-24 16:20:41  No: 78420  IP: [192.*.*.*]

こんにちわ。表題の件で質問です。
VB6.0(SP5)
Access2000
Win2000

Accessの列1はデザイナでOLEオブジェクト型に設定し、既存a.xlsファイルを挿入しています。
VBのFormにはOLEコンテナコントロールとCommandボタンを各1つ用意しています。
Commandボタンを押下した時にRecordsetで取得した列1のデータを
VBのOLEにオブジェクトの埋込みを行いたいのですが、
方法がよく分かりません。
ヘルプを見ると、PictureBoxにはLoadPicture()関数で表示できるように思ったのですが、同じようにOLEコンテナにDBから取得したOLEオブジェクト型のデータを
表示させる事は可能でしょうか?(ターゲットはExcelファイルです)
宜しくお願いします。

編集 削除
魔界の仮面弁士  2003-06-25 02:33:31  No: 78421  IP: [192.*.*.*]

OLEコンテナにデータバインドさせるのが簡単でしょう。
DataSource/DataFieldプロパティについて調べてみてください。

> PictureBoxにはLoadPicture()関数で表示できるように思ったのですが
LoadPictureは、(メモリ上の)データからではなく、ファイルからの
読み込みになりますよね。それと同じようなイメージでかまわないなら、
OLEコントロールの場合は、SaveToFileメソッドでファイル保存、
ReadFromFileメソッドでファイルからの読み込みが行えます。


なお、OLEオブジェクトデータというのは、元データのバイナリ情報とは
異なるものである事に気を付けてください。例えば、BMP画像やXLSファイルを
OLEオブジェクトとしてOLEオブジェクト型フィールドに保存しておき、
それをRecordset経由でGetChunkしてバイナリファイルとして取得しても、
それは、元の*.bmpや*.xlsとは必ずしも(*)一致しない事になります。

--
(*) OLEオブジェクト型フィールドに、『OLEオブジェクト』としてではなく、
  元ファイルのバイナリイメージ自体をそのまま格納してあるのならば、
  取得後のバイナリと元データのバイナリは、完全に一致する事になります。

編集 削除
ado  2003-06-25 20:13:50  No: 78422  IP: [192.*.*.*]

魔界の仮面弁士さん、回答ありがとうございました。
勉強不足のまま質問を投げてしまい申し訳ないです。
DataSource/DataFieldプロパティについて、調べてみます!!

編集 削除