AccessのOLEオブジェクト型について

このQ&Aのポイント
  • AccessのOLEオブジェクト型とは、AccessのテーブルにWAVEファイルを埋め込むためのデータ型です。
  • OLEオブジェクト型に埋め込まれたデータは、[OLEのヘッダー情報] + [WAVEファイルのデータ] + [OLEのフッター情報]の形式で保存されます。
  • ただし、OLEオブジェクト型のフォーマットは公開されていないため、詳細な情報が得られない場合もあります。
回答を見る
  • ベストアンサー

AccessのOLEオブジェクト型について

Accessのテーブルに WAVEファイルをOLEオブジェクト型として埋め込ませたWAVEデータをWIN32APIのPlaySound関数で鳴らすVBプログラムを考えています。 「ねこ」→ "にゃあ~"、「いぬ」→ "わん" といった対応で検索結果に応じたサウンドを鳴らしたいのです。 OLEオブジェクト型に埋め込まれたデータをダンプして見たところ、 [OLEのヘッダー情報] + [WAVEファイルのデータ] + [OLEのフッター情報] のような構成というところまでは、ダンプの状況から判断できるのですが… OLEオブジェクト型のフォーマットは公開されていないのでしょうか? そうだとしたら、このような質問をすることもいけないのでしょうか? だったら、なんでOLEオブジェクト型が存在するのか分かりません。 意見でも何でもいいです。情報を下さい。よろしくお願いします。

  • emac
  • お礼率57% (12/21)

質問者が選んだベストアンサー

  • ベストアンサー
  • hidebu-
  • ベストアンサー率53% (45/84)
回答No.1

基本的にマイクロソフト製のフォーマットは大丈夫なようです。 ただ、実用としてSQLサーバーやORACLEなどのイメージ型なと一緒で実務ではほとんどつかいません。 大手などのシステムを構築するときデーターベースにCOMやJPEGなどバイナリーデータを差し込んだりするとユーザーの品質保証部などから文句をいわれます。基本的にはディスクに落としてパスとファイル名をRDBで保持するというかたちをとることがおおいようです。 回答にはなってませんが参考までに^^;

emac
質問者

お礼

回答ありがとうございます。 私が作ろうとしているのは小さなプログラムですが、参考になりました。 最近では、X線の撮影結果もRDBで管理されるようになってきましたが、 hidebu-さんの言うような仕組みになっているんでしょうね。 データベースって深いですね。 私がやろうとしているのは、つぎの2つの理由があるからです。 1.WAVEファイルをユーザに見られたり、勝手に書き換えたりされたくない。 2.リソースファイルを使うには、ファイル数が多くて管理が大変。 hidebu-さんのアドバイスを元に、WAVEだけは別のDBファイルにします。 ありがとうございます。

関連するQ&A

  • AccessのOLEオブジェクトについて

    いつも大変お世話になっております。m(_ _)m Accessで以下のようなDBを作りました。 (1)Access2003で、OLEオブジェクト型のフィールドを作る。 (2)OLEオブジェクト型のフィールドプロパティは以下のように設定  1)OLEサイズ・・・クリップ  2)OLE表示の種類・・・アイコン  3)OLE更新設定・・・自動  4)作成可能OLE・・・リンク (3)このフィールドには、TIFファイルを挿入していきます。  (2)の設定により、オブジェクトの挿入時は  指定したパスにあるファイルをリンクで結び、  アイコンが表示されます。 Access2003のPCで設定したオブジェクトは、どのバージョンのPCからも閲覧できます。しかし、Access2000のPCで同じことをやろうとすると、オブジェクトの挿入はでき、2000のパソコンではダブルクリックで閲覧可能ですが、2000で設定したオブジェクトを2003で見ようとすると 「OLEサーバーが登録されていません」 「OLEサーバーを再セットアップしてください」 と出て開くことができません。 これはどういうことなのでしょうか? まとめます。 ・2003で挿入したオブジェクトは、  2003でも2000でも閲覧可能。 ・2000で挿入したオブジェクトは、  2000では見れるが、2003では見られない。 ・エラー内容は、「OLEサーバーが登録されていません」です。 どうしたらいいのか教えてください。 よろしくお願いします。

  • OLEオブジェクトについて

    開発環境がVB5 SP3でOLEオブジェクトコントロールへEXCELのグラフを動的にリンクをさせて表示ようと思っています。 しかし、OLEオブジェクトコントロールへグラフは表示されてはいるのですが、EXCELで表示しているグラフよりも明らかに小さく表示されてしまいます。 以下の環境でテストを実施しています。 OS:Windows 98 SecondEdition Office:office 2000 開発言語:Visual Basic5.0 SP3 この事象の原因もしくは回避方法を教えてください。 よろしくお願いします。

  • OLEリンクの写真

    教えてください。 アクセス2002で職員DBを作っています。 データ数(職員数)は400件くらいですが、各職員の基本情報のフォームに顔写真(JPEG)をOLEリンクで表示させています。 そのせいでしょうか、バックエンドDBファイルのサイズが90MBを越えるまでになりました。そのため、フロントエンドのユーザーから、フォームを開く際など(重たくて)「表示が遅い」といった不満が出ています。 ファイルのサイズを減らすいい方法はありませんか? 写真はフォーム上の連結オブジェクトフレームに表示しており、そのプロパティ(データ)は次の通りです。 ・クラス ブランク ・OLE元ファイル名:ブランク ・OLE元データ名:ブランク ・OLE表示の種類:内容 ・OLE更新設定:自動 ・作成可能OLE:リンク ・使用可能:はい 写真(JPEG)のサイズは5~8kあたりですからたいしたことはないような気もするのですが・・・。よくわかりません。 どなたかアドバイスください。

  • アクセスに「OLEオブジェクト型」で写真を入れたい

    1.テーブルのデータ型を「OLEオブジェクト型」にしで 2.フォームを作成して「顔写真」の項目も設けます 3.写真を挿入するときは「挿入」→「オブジェクト」 →「ファイルから」にチェックして該当の写真ファイルを選択して 入力します ↓結果 写真枠にファイル名しか入りません ダブルクイックすれば写真がでますが ダブルクイックしなくとも、写真枠に写真を表示させたいです 同じやりかたで、bmpファイルのときは 目的とおり写真が表示されます つかっているファイル形式は、gifとかです WibdowXP Office2003です

  • OLEオブジェクト(EXCELGraph)が動作する際のセキュリティ警告について

    フォームにOLEオブジェクトでEXCELグラフを表示しています。 グラフによってY軸やデータの値が変わるため、再描画するようにマクロを組みました。 そのため、セキュリティ警告が表示されるようになってしまい困っています。 過去ログ等調べた結果、AutomationSecurityで制御できるようなのですが、OLEオブジェクトにも有効でしょうか? 過去ログ等見ながら試してみましたがお手上げです。 どのように記述したら良いかご教授願えませんでしょうか。 よろしくお願いします。

  • VB6 OLE内のEXCELマクロを実行するには

    お願いします。VB6です。 (1)フォーム上に、OLEオブジェクトを配置してEXCELシートを埋め込みました。 OLE1.CreateEmbed vbNullString, "Excel.Sheet" (2)そのEXCELの標準モジュールに Sub TestMacro() Cells(1, 1) = "ABC" End Sub というマクロを記述しています (3)下記の様にそのマクロを実行させようとすると ★「実行時エラー'1004' cellsメソッドは失敗しました。'_Global'オブジェクト」 というエラーが出てしまいます。★ Private Sub Command1_Click() Dim wb As Workbook Set wb = OLE1.object wb.Application.Run "TestMacro" End Sub ★このエラーの回避方法をご教授ください なお ・エクセルのマクロを変える事はできません ・OLE右クリックでExcelを開いた状態なら正常実行されるので VBでOLEのExcelを開く方法がわかればそれでもOKです。

  • Access2000でPDFを入力したいのですが。。。

    お世話になります Access2000でOLE オブジェクト型を使用して PDFファイルを挿入すると AcrobatDocumentオブジェクトを操作できません OLEサーバーが登録されていません OLEサーバーを再セットアップしてください というメッセージが出ます Adobe Readerはインストールしていますが それだけではいけないのでしょうか? 教えてください よろしくお願いします

  • VBで音声再生に関して

    ヘッダ情報のない16_khz,16_bitの音声ファイルをwavへの変換なしで直接取り出して 再生したいのですが、再生するAPIかなにかないでしょうか? メモリー上にバイト型配列でおきwavのヘッダ情報をつけ音声ファイルをくっつける という方法を考えついたのですが それだとPlaySound()APIではメモリー上から呼び出せず困っています。 wavファイルのヘッダ情報についてもわかりません。

  • AccessのOLEオブジェクトのファイル名/更新日時をフォームに表示

    よろしくお願い致します。 AccessのOLEオブジェクト(画像ファイル等)を、アイコンでフォームに表示させているのですが、同時にファイル名とそのファイルの作成/更新日時を表示させたく思うのですが、可能でしょうか? 基本的な質問で申し訳ありません。 不足している情報がありましたら御質問ください。 よろしくお願い致します。

  • DXFファイル内OLEフレームのバイナリデータに…

    DXFファイル内OLEフレームのバイナリデータについて こちらに質問させていただいていいのか良くわかりませんが、質問させていただきます。 失礼にあたりましたらお許しください。 DXFファイルを解析して画像ファイルに落す処理を作成しています。 OLEオブジェクトとして挿入されているオブジェクトを解析しようとしているのですが、バイナリデータが入っています。 これは何のバイナリデータなのでしょうか? お分かりになる方がいらっしゃいましたら教えてください。