<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!という簡略した表現は使えないんで・・・コードで書いた方が楽かなって思います。



じゃ、改めて、フォームを保存して、フォームビューに切り替えましょう。
またなんか条件を入れて絞り込んで・・・。どれか伝票番号をクリックします。

出ます?

出ました〜