• ベストアンサー

オートシェイプのような作図入りデータベースを作りたい

現在Accessでデータベースを作成しているのですが、エクセルで言うオートシェイプのような作図を、レコード上のフォームのひとつに描く必要が出てきました。 そこで質問なのですが、そのような方法はあるのでしょうか。 また、ない場合はどのようなデータベースを使うことで対応できるようになりますでしょうか。 図解すると ・レコード→フォームA(テキスト情報のみ)      →フォームB(テキスト情報のみ)      →フォームC(テキスト情報+任意の作図描画) ・フォームCを呼び出すと、作図情報も一緒に出てくる。 という形になります。 出来ればMS Office関連商品だけで出来れば嬉しいのですが‥。 どうぞご教授ください。よろしくお願いします。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

作図自体はExcelなどで行うとして、  a)データ型が「OLEオブジェクト」のフィールドをテーブルに追加して、   そこにExcelファイルを保存   (フォームでは「連結オブジェクトフレーム」コントロールで表示、    コントロールの右クリックメニューから「挿入」で新規入力、    ダブルクリックで内容表示・編集が可能)  b)データ型が「ハイパーリンク」のフィールドをテーブルに追加して、   データベース外に保存したExcelファイルへのリンクを保存   (フォームでは「テキストボックス」コントロールで表示、ファイルの    ドラッグ&ドロップで登録、クリックで内容表示・編集が可能) といった方法があります。 *連結オブジェクトに保存するファイルは、レコードが別であればExcel  やPowerpointなどを混在させることも出来ます。  (1つのレコードの1つのフィールド(コントロール)内に、2つ以上を保存   できるという意味ではありません) 「a)」はDB単独で管理できるものの、DBのファイルサイズが膨張します。 「b)」はDBのファイルサイズは小さくなりますが、Excelなどのファイルを一元管理できません。 (DBを立ち上げなくても編集可能な点は、メリットにもデメリットにもなり得ますが)

その他の回答 (1)

回答No.2

作図ってことは動的に図を描画するってことでしょうか。。。 例えば座標データを DB で管理していて、座標データに基づいて図を描画するとか。。。 最初から図がレコードごとに決まっているのなら画像ファイルとして外部に持っておいて、フォームのイメージ コントロールに表示してはどうでしょうか。 テーブルには画像ファイルのパスを入れるフィールド(例:Path)を用意し、フォームの Current イベント(レコード移動時のイベント)で Me.img.Picture = "Path フィールドの値" てな感じで。(img はイメージ コントロールのコントロール名の例えで)

関連するQ&A