![]() |
||
<HOME <お願い事項 <Access2002 TOP <Access97 TOP <サイト内検索 | ![]() |
|
![]() |
||
MS-Access2000超入門部屋--基本操作をさらに考える |
>00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 |
フォームは、なんか適当な名前を付けて保存してくださいね。わたしは「売上伝票一覧フォーム」というまじめな名前にしました。
たまにはね(笑)
じゃ、このフォームでも絞込みの仕組みを作ってみましょうか。
こういうフォームでは、どういう絞込みができたら便利かな・・・。この先、何万っていう伝票入力がなされるかもしれないし・・・。
あんまり古い伝票ばっかりずらずら出てきても意味ないですよね・・・。なんか条件入れて絞り込んだ結果を出すようなフォームにしたいな・・・。
さっき、フィルタを使った絞込みやりましたから、伝票番号で絞り込みたいってのは、もう皆さん挑戦できますよね。
じゃあ・・・「売上日の範囲指定をして絞り込み」をやってみましょうか。
これはフィルタだと書き方が難しいから、クエリ使ってみましょう。
まず、下準備を・・・。
左のように、テキストボックスをふたつ、ヘッダー部分に作ってください。位置や大きさはお任せします。
わたしのは、片方が「テキスト10」、もう片方が「テキスト12」になりました。
みなさんのはなんて名前になってるでしょう。確認しておいてください。うーん、ラベルはいらないかな。
・・・消しちゃってもいいかも。
日付の抽出用のテキストボックスなので、半角しか入力しないはず。
んじゃ、両方とも「漢字の入力モードをオフ」にしておくと便利かもしれないです。
フォームは保存してからフォームビューの状態に切り替えて、閉じずにそのままどっか隅っこの方にでものけておいてください。
最小化しておいてもよいです。
さて、さっきの集計クエリに一工夫します。
「売上日」の抽出条件のところに入力するんですけど、ちょっと長い構文になるので、Shiftを押しながらF2キーを押して、ズーム機能を使いましょう。
と、下のように・・・。
Between Andっていう演算子を使って、ふたつのテキストボックスを指定してやります。
Between ○○ and ▲▲
これで、「○○から▲▲まで」を表示するようになります。
Between Forms![フォーム名]![ひとつめのテキストボックス名] and Forms![フォーム名]![ふたつめのテキストボックス名]
って書きます。長いですけどがんばって挑戦してみてください。
んじゃ、ちょっとそーっとテストです。この手のテストはデリケートですので、そっとそっと操作してください。
まず、このクエリをちょっと横にのけておいて、売上伝票の一覧フォームの方を見ます。
ヘッダー部分のテキストボックスにそれぞれ、絞込みをしたい範囲を入力します。日付ですから、必ずスラッシュかハイフンで区切ってくださいね。
これは、ちゃんとクエリを動かすためのおまじない・・・ふたつ目のテキストボックスに日付を入力した後、必ずEnterキーを押してください。
で、再びそっとそっと、クエリの方に戻りまして・・・。
データシートビューに切り替えます。(クエリの方のウィンドウどっかクリックしないと、フォーム用のツールバーのままかもしれないっ)
と、どうでしょう。絞り込まれてます?
この辺はもうみなさんオッケーですよね。
クエリ、上書き保存しましょう。
で、これももうひとつのおまじない・・・再クエリをしないといけないです。
ふたつ目のテキストボックスの方の「更新後処理」に、再クエリするコードかマクロを作ってくださいね。
こんなかな?
で、改めて、フォームを上書き保存して、フォームビューに切り替えます。たぶん最初は1件も出てないと思います。
テキストボックスが空っぽですからね。
何回かテストして試してみてください。
絞り込まれて表示されてきます???
で、上のように絞り込んだ後、「この伝票、何を売ったのかな」とか、詳細を知りたくなるんじゃないかって思いません?
(思ってください)
じゃ、さっき作った照会用のフォーム、あれ出してみましょう。えと、どういうタイミングで出しましょうかね・・・。
ちょっとわかりにくいですが、「伝票番号のテキストボックスをクリックしたとき」に、その伝票の明細が出るようにしましょう。
「フォームを開く」っていうマクロのアクションでも、条件式みたいなの設定できるんですよ。
フォームって、ふつうに開くと一番最初は、「レコードソースの1件目」を表示しますけど、指定したレコードだけ表示する、っていう開き方もあるんです。
「Where条件式」というのを入れてやります。
マクロの場合は、Me!という簡略した表現は使えないんで・・・コードで書いた方が楽かなって思います。
じゃ、改めて、フォームを保存して、フォームビューに切り替えましょう。
またなんか条件を入れて絞り込んで・・・。どれか伝票番号をクリックします。
出ます?
出ました〜
![]() |
![]() |
![]() |