![]() |
||
<HOME <お願い事項 <Access2002 TOP <Access2000 TOP <サイト内検索 | ![]() |
|
![]() |
||
Access97データベース工作室>食いだおれデータベース |
Page1 > Page2 > Page3 > Page4 > Page5 > Page6 > Page7 > Page8 > Page9 > Page10 > Page11 > Page12 > Page13 |
■一覧表から詳細画面へ
では、次に、一覧表から詳細画面を開くという動作、作ってみたいと思います。
お店の数が10件くらいのときはいいですけど、500件とか1000件になると、お店のデータ見つけるの大変じゃないですか。なので、その辺を目的とした仕組みを作ってみようと思います。
えーっと、まず、一覧表から作りましょう。
お店の名前と、場所くらいは分かった方がいいと思うんで、[ナンバー][店名][場所]の3つのフィールドを横に並べた表形式のフォームにしたいと思います。
[場所]のフィールドには、オモテ見はちゃんと"新宿"とか"渋谷"とか表示されてるんですけど、これはルックアップウィザードで作った仕組みがうまく働いてくれてるからなんです。実際、このフィールドには、1、2、3...という数値が入ってます。[場所テーブル]が主キーにしている[場所]というフィールドと結びついているんですよね。リレーションシップの設定をしたときのこと、思い出してください。
なので、ちゃんと「場所名」が表示されるよう、一覧表用のクエリーを作りましょう。
クエリー作成の段取りはみなさんオッケーでしょうか。
デザインビュー使って、手っ取り早く作っちゃいましょう。
選ぶのは、店の名前が一覧できる[食いだおれテーブル]と、実際の場所の名前が入っている[場所テーブル]です。
出てきた「テーブルの表示」のウィンドウの中から、ふたつ、テーブルを[追加]しましょう。
で、こんな感じのクエリーにします。
[ナンバー]と[店名]は[食いだおれテーブル]から、[場所名]は[場所テーブル]から選びましょう。
ちょっと開いてみると、こんな感じ。うまく出てますよね。並び順はとりあえず[ナンバー]の順に出てればオッケーでしょう。
[一覧クエリー]とでも名前を付けて保存しておきましょう。
で、これを基に、表形式のフォームを作ります。
ウィザードでもオートフォーム機能でもなんでもよいので、とにかく表形式のフォームをひとつ作りましょう。
できました?
テキストボックスの大きさや文字の大きさ、色などは自由に変えてみてください。
[ナンバー]の見出し部分のラベルが窮屈だったら、ラベルはなくてもわかると思います。あたしは取っちゃいました。
で、一覧表示して、ぐあいをみてみてください。
わたしはちょっとフォームに細工しようと思います。
まず、「クリックしてもカーソルがフォームのテキストボックスの中に入らないようにして、
この一覧表から不用意にデータの書き換えができないよう」に、してしまおうかなと思います。
まあ、ここから書き換えができてもいいんですけどね。
これは、各テキストボックスのデータプロパティにある「使用可能」「編集ロック」と、この辺を活用します。
使用可能=いいえ
編集ロック=はい
いちいち3つも設定するのがめんどうだったら、上の図の赤い線のように、左上に向かってドラッグしてみてください。
ドラッグした経路に引っかかるテキストボックスやラベルが、全部選択されることになります。
3つのテキストボックスにハンドルが出てますよね。
この3つ以外のラベルとかも選択しちゃうと、これからやりたい設定ができないんで、その辺確認しながらドラッグしてくださいね。
3つのテキストボックスにハンドルが出てればオッケーです。
プロパティシートも「複数のオブジェクトを選択中」ってなってると思います。
3ついっぺんにプロパティの変更ができるって寸法です。
新規入力行の表示や、レコードの削除を許さないのであれば、
フォームのプロパティにそういうのがあります。→
ただ、今回は「更新の許可」だけは「はい」にしておいてください。
あとで「場所で絞り込み」ができるように、フォームを改造しますので。
と、とりあえずこんな感じになりましたが、みなさんいかがですか?え?変な店ばっかし?・・・・・・。
・・・。なんか名前付けて保存してくださいね。あたしゃ[一覧表]にしました。
さて、ではいよいよ、「コマンドボタンをクリックしたら、その店の詳細画面を出す」という仕組みを作っていこうと思います。
わざわざフォームを作るのもあれなんで、さっきまでいじってたあの紫色のフォーム、あれを使おうと思ってます。
ではでは、まずは[一覧表]のフォームに、コマンドボタンを作ります。
小さ目のでいいと思います。で、標題とか表示しきれないと思うんで、標題は全部削除しちゃって、つるつるのっぺらぼうのボタンにしましょう。
こんなふうになりました。ボタンの大きさは調節してみてください。
でも、まだこれクリックしても何も起こりませんよね。
これから作りますから、慌てず慌てずゆっくりやりましょう。
もう一回デザイン画面に戻りましょう。
コードビルダでもいいんですが、たまにはマクロを使おうかな。マクロビルダを起動しましょう。
マクロ名はなんでもいいですよ。あたしは[一覧表から詳細へ]と、ちょっとマジメな名前にしました。
で、どういうマクロを作るかというと、[食いだおれ入力]フォームを開くマクロです。
「フォームを開く」というアクションがありますので、これを選びましょう。赤い印のところですね。
クリックするとマクロアクションの一覧が出ますから、中から探してください。フォームを開くです。
で、下の「アクションの引数」を見ましょう。フォーム名は[食いだおれ入力]です。
これだけだと「そのフォームが基にしているテーブル/クエリーの1件目のレコード」が表示されるんですよね。ふつう、フォームって。
なので、そこをなんとかしようというのがWhere条件という欄です。クリックしましょう。えー、クエリーでいうところの「抽出条件」みたいなやつですね。
書き方が難しいんですけど、要するに[開こうとしているフォームの中のどれか]=[比較する値]
という感じで、等式を書くんです。慣れちゃうと簡単なんですけど、今日は式ビルダっていう機能に頼ろうかな、と思いますので、Where条件式欄の右端のビルドボタンをクリックしてください。
![]() |
![]() |
![]() |