![]() |
||
<HOME <お願い事項 <Access2002 TOP <Access97 TOP <サイト内検索 | ![]() |
|
![]() |
||
MS-Access2000超入門部屋--Where文を書いてみる | ||
1 2 3 4 5 |
んではもうひとつの事例を・・・。
レポートで、状況に応じて必要なデータだけ絞って印刷するような仕組みを考えてみましょうか。
レポートも、基本的にはフォームとおんなじですから、「レコードソース」ってところに指定されてるテーブルかクエリの中のデータを正直に出します。
実用的かどうかわかんないですけど、ご紹介しますんで、なんかのときに使ってみてください(なんかって?)。
こんな感じのレポートがあったとします。もとはあのテーブルです。レポートの名前は[レポート]にしました。
このレポートはそのままで、印刷するときの命令「レポートを開く」というアクションの中で、条件をつけてみます。
じゃあ・・最初、マクロでやってみましょうか。
新しくマクロをひとつ作りましょう。最近は「マクロを新規に作る」という感覚、あんまりないかもしれないですが、データベースウィンドウの左端のグレーの濃いとこで「マクロ」を選んで、データベースウィンドウの上部分の「新規作成」をクリックします。
で、「レポートを開く」というアクションを作りましょう。
で、画面の下のほう・・・アクションの引数というところに注目します。
ここのWhere文は、どういうわけかダブルコーテーションで囲んでません。
この欄クリックしたとき、右側に青い字でヘルプが出ると思うんですけど・・・・多分、式を入力してください、とあるだけで、「文字列式で」とは書いてないと思います。ダブルコーテーションで囲んで入力しなくてはならない場合は、たいていヘルプにそう書いてありますんで、この辺若干確認しながら作業しないと「あれ??」ってことになっちゃうかもしれません。
多分、半角のかぎカッコはフィールド名の周りに勝手につくと思うんで、
金額=500
とだけ入力してください。オッケーでしたら、このマクロ、なんか適当な名前をつけて保存しましょう。
左上のフロッピーディスクの絵のツールボタンをクリックしてくださいね。
保存できたら、簡単なテストを・・・
画面上の「ビックリマークツールボタン」をクリックしましょう。
これ、「今表示しているマクロを実行する」という意味のボタンです。1行だけのマクロだし、手っ取り早くテストするにはこれで十分でしょう。
さて、絞り込まれた情報が印刷されますか???
んじゃあ、ここでも、「テキストボックスに入力した値を基に絞込み」してみましょうか。
もうカンタンですよね。
ちょっとひねって、「テキストボックスに入力した値以上のもの」ってやってみましょうか。
さっきのフォーム利用しましょうか。「テキスト2の方に入力した値を基に絞込み」をしようかな。
テキストボックス名を確認していただいて、マクロをデザイン画面で開きます。
ちょっと、欄が狭いので長い式を入力するのが大変なんですけど・・・。
[金額]>=[Forms]![がめん]![テキスト2]
↑こうですね。
で、フォームにコマンドボタンかなんか作って・・・・。
今しがた修正したマクロを、クリック時のイベントにします。
一覧から選べるようになってると思います。
で、フォームを保存し、フォームビューに切り替えて・・・。
コマンドボタンをクリックすると、
出ました?
これも、いろいろ使えそうですよね。データベースの中で活用してみてください。
マクロじゃなくて・・・・コードで書く場合も、まあ、イメージ的には同じです。
マクロ名になってるとこ、「イベントプロシージャ」に変更して、右端の...ってちっちゃいボタン、クリックします。
コードはこうですね・・・。
コードで書く場合は、式は「文字列扱い」になるみたいですね。必要な部分をダブルコーテーションで囲んで書きます。
マクロでもコードでもどっちでもおなじことができますから、後はお好みですね。
こういうのはみんな「慣れ」ですから、慣れてる方法で書くようにしていけばよいと思います。
でも、どっちが書きやすいか、なんて、何度もいろいろ作ってみないと判断つかないですよね。
とにかくシンプルなテーブル相手に、いろいろ繰り返し書いてみて、慣れてしまってくださいね。
![]() |
![]() |