<HOME  <お願い事項  <Access2002 TOP   <Access97 TOP   <サイト内検索
 MS-Access2000超入門部屋--料理レシピ集を作る
  1 → 2 → 3



んじゃ、各テーブルの内容を表示するためのフォームを作りましょう。


これが[料理フォーム]。


んでもってこれが[手順フォーム]


そして[材料フォーム]

えーとですね・・・[料理テーブル]は単票形式で、後のふたつは表形式のフォームにしましょう。オートフォームとかウィザードとかで適当に作ったヤツでいいですよ。名前はそれぞれわかりやすい名前をつけてください。

細かいデザインはおいおい変えていきますが、気になるとこはフォームや各テキストボックスのプロパティをいろいろ研究してみてくださいね。
で、[料理フォーム]だけデザインビューで開いて、あとは閉じておきます。
んでもって、データベースウィンドウのフォームの一覧から、[材料フォーム]のアイコンをドラッグしてきちゃいましょう。そーっとですよ。大丈夫大丈夫。

不恰好ですけどサブフォームになります。↓位置や大きさを調節しましょう。

それぞれのテーブルでフィールド名がそろっていれば、[料理フォーム]と[材料フォーム]は[番号]というフィールドの内容で結びついて連動してくれます。
どこでそれを確認できるかというと、↓サブフォームのプロパティの中です。

ちょっと確認しにくいですが、上の図のように、サブフォームをうまいことクリックすると、サブフォームのプロパティが出てきます。
その中の「データプロパティ」に「リンク子フィールド」「リンク親フィールド」というのがありますね。これです。

ここがからっぽだったり、あるいは全然関係ないフィールドが設定されてるとダメです。
両方のフォーム(が基にしているテーブル)の[番号]というフィールド同士で結びつくようになってますか?なってない場合はきちんと設定しましょう。

ウィザードでサブフォームを作った場合は、このプロパティは自動的に設定されてます。
なので、普段あんまりなじみのないプロパティですけれど、ここが正しくないと、サブフォームは台無しなんです。
いちおう、押さえておいてくださいね。

で、ちょっと大きさや位置を調整して・・・。上記プロパティが正しくなっていれば、サブフォーム側には[番号]や[ナンバー]のテキストボックスは要らないかもしれないですね。削除しちゃってもかまわないですよ。
わたしはこんな感じにしてみました。↓

余談ですけど、ピンク色の○印をしたところ・・・いわゆる「レコードセレクタ」ってヤツでしたよね。
これ、出しておくといいかもしれません。
この1レコードを削除するとき、これをクリックしてDeleteキーを押せば(あるいは右クリックでメニュー)、簡単に1行削除できます。
もっとわかりやすい仕組みを作ってもいいですけれど、あまり手間を掛けたくないときはこういう出来合いのものを利用するのもいいと思いますよ。

もうひとつの[手順フォーム]の方も、同じ要領でサブフォームにしちゃいましょう。


もし、「料理の写真を載せたいなぁ」と思ったら、そういうフィールドを[料理テーブル]に加えましょうか。
写真の画像はあらかじめ用意しておいてくださいよ。

OLEオブジェクト型のフィールドをひとつ用意しておくといいでしょう。
でも、あんまりファイルサイズの大きい写真や画像は、やめた方がいいかもしれません。なぜなら、テーブルの最大サイズは1GBでしたよね。MDBのファイルサイズのMAXも2GBとなってます。
それに、あんまり大きなサイズのファイルって、Accessに限らず、扱いがいろいろ面倒ですよね。
コンピュータで扱う「ファイル」と呼ばれるものは、できれば小さい方が障害も少ないし安全で扱いやすいものなんです。これは、みなさんご承知ですよね。
だって、縦10m横10mの羽毛布団と、縦1m横1mの羽毛布団、どっちが押入れにしまいやすいと思います?
小さい方が扱いやすいですよね。ファイルだって、小さい方が出し入れ安全のはずです。

「じゃあ何MBまでダイジョウブなんですか」とか、そういう解釈をなさらずに、現状の業務に必要なデータを盛り込んだ上でできるだけファイルサイズが小さくてすむよう、うまく考えていってください。
もし、画像をたくさん扱うケースが考えられるなら、例えば[ハイパーリンク型]にして、画像ファイルの保存場所を書き込んでおくようにするとか。テーブルの中に全部格納しなくても、何かしら方法はあるはずです。

んでもって、テーブルは保存して閉じて・・・。

次に、フォームをデザイン画面にして、どっか空いているところに、フィールドリストから引っ張り出してきましょう。

OLEオブジェクト型のフィールドなら、画像を表示できるコントロールになるはず。
プロパティを見ると、画像をどのように表示するか、など、いくつか設定できるプロパティがありますから、必要に応じて調整してみてください。
画像にもいろいろな種類がありますから(JPEG、GIF、PNG、BMPなど)、どういう画像を用意しているのか、それらの扱いはAccessの中ではどうなのか、その辺をじっくりヘルプで確認しておきましょう。画像の扱いは、Access以外の機能等がからむこともありますからね。ヘルプは必読です。

で、実際に画像を取り込みたいときは、フォームビューの状態で、他のデータの入力をしている途中で・・・・
このコントロールを右クリックします。と、オブジェクトの挿入というメニューが出てくるはずです。

で、「参照」ボタンをクリックして、画像を選びます。
そうすると、その画像が、このコントロールを通じてテーブルの中に収まる、という運びになります。

ね。
写真があった方が、やっぱり料理のレシピ集っぽくてわかりやすいですよね。え?どんな料理だかわかりやすくていいでしょう?