<HOME  <お願い事項   <Access2002 TOP   <Access97 TOP   <サイト内検索
 MS-Access2000超入門部屋--用語集を作ってみる
  1 > 2 > 3



じゃ、次に、解説文を見たり、新しい用語を登録するときのことを考えましょう。

絞り込んだ上記一覧から、詳細の画面を出します。
詳細の画面は・・・とりあえずオートフォーム単票形式ってことで簡単なの作ってみました。あとでレイアウトとか変えましょう。

わたしのは、[用語照会]ってフォーム名にしました。
で、このフォームの[ID]と、一覧フォームの[ID]が同じレコード、って感じで、フォームを開くようにします。




んでは、一覧表のフォームの方に戻って・・・。

やりくりしていただいて、コマンドボタンをひとつ作ってください。
標題は「詳細」って無理やりしてみましたけど、まっさらでも結構です。ちっちゃいボタンですからね。

わたしのは[コマンド15]っていうボタンになりました。
このボタンのクリック時のイベントを作りましょう。

DoCmd.OpenFormっていうのは、いわゆるマクロの「フォームを開く」ってやつです。コードで書くとこうなります。

で、ただ開くんじゃなくて、一番最後にWhere条件を入れてやろうと思うんです。
Where条件式っていうのは、OpenForm(マクロの「フォームを開くアクション」)のヘルプを参照してください。

こんな↓感じでしょうか・・・。

IDは数値型のフィールドなんで、シングルコーテーションで囲んだりしません。
ほんとは、この一覧フォーム内に、[ID]っていうテキストボックスがなきゃいけないのかもしれないんですけど、なんかこれでもうまく絞り込んでくれるんで、これでやってみようと思います。

こういうのは・・・Accessのバージョンによっても微妙に考え方が違うとこ・・・なのかもしれないですね。




じゃテストを。。。。
一覧の方を開いて、どれか適当な用語の[詳細]ボタンをクリックしましょう。どれでもいいですよ。

その用語に関する照会フォームが出てきます?

この「Where条件式」というやつは、マクロの「フォームを開く(VBAで書くときはOpenForm)」の他にも、「レポートを開く(OpenReport)」でも使えます。
なので、1ページに1件分の用語解説の印刷をするようなレポートを作って、印刷するような仕組みにも応用できそうですね。
詳しいことは「レポートを開くアクション」のヘルプを見て下さいね。

ここまで作りこめればオッケー。
仕組みがわかれば、作るのは簡単でしょう???
でも、なんだかよくわからないで、ただ操作の順番だけ覚えたのでは、かなりキツいんじゃないでしょうか。
とにかく「今何をやっているのか」、見失わずにひとつひとつ丁寧に作業するのがコツです。

絞込みとか、検索とか、一覧表示とか、そういうのには、決まったやり方はありません。
でも、操作とか設定とか、ひとつひとつには、ちゃんと意味があります。
その意味をしっかり理解すれば、いろんな応用ができるはず。
基本を押さえて、皆さんが納得のいく方法を考えていってください。ここの解説がその足がかりになればと思います。




んでは、最後に・・・。
新規に用語を登録する仕組みを作っておきましょう。
一覧フォームの下のところでも使って、何かひとつコマンドボタンを作ってください。

で、こいつのクリック時のイベントを作りましょう。

新規入力するためのフォームを新しくこしらえてもいいんですが、さっき作った[用語照会]フォームを使っちゃおうかなと思います。

「フォームを開く(OpenForm)」アクションでは、フォームを開くときに、どういう状態で開くか決めることができます。
acFormAddというのを選べば、このコマンドボタンをクリックして開いた[用語照会]フォームは、追加入力専用、ということになります。
つまり、開くと、「新規入力状態」になっているわけです。

ちょっとした入力フォームなら、こういう仕組みをひとつ作ることで十分対応できると思いますよ。

ちょっと物足りないかもしれないですけれど、とにかく、シンプルな、基本的なトコを押さえて、応用できるようにしていってくださいね。