<HOME  <お願い事項   <Access2002 TOP   <Access97 TOP   <サイト内検索
 MS-Access2000超入門部屋--Where文を書いてみる
  1 2 3 4 5



んではもうひとつの事例を・・・。

レポートで、状況に応じて必要なデータだけ絞って印刷するような仕組みを考えてみましょうか。
レポートも、基本的にはフォームとおんなじですから、「レコードソース」ってところに指定されてるテーブルかクエリの中のデータを正直に出します。
実用的かどうかわかんないですけど、ご紹介しますんで、なんかのときに使ってみてください(なんかって?)。

こんな感じのレポートがあったとします。もとはあのテーブルです。レポートの名前は[レポート]にしました。
このレポートはそのままで、印刷するときの命令「レポートを開く」というアクションの中で、条件をつけてみます。

じゃあ・・最初、マクロでやってみましょうか。

新しくマクロをひとつ作りましょう。最近は「マクロを新規に作る」という感覚、あんまりないかもしれないですが、データベースウィンドウの左端のグレーの濃いとこで「マクロ」を選んで、データベースウィンドウの上部分の「新規作成」をクリックします。

で、「レポートを開く」というアクションを作りましょう。

で、画面の下のほう・・・アクションの引数というところに注目します。

ここのWhere文は、どういうわけかダブルコーテーションで囲んでません。
この欄クリックしたとき、右側に青い字でヘルプが出ると思うんですけど・・・・多分、式を入力してください、とあるだけで、「文字列式で」とは書いてないと思います。ダブルコーテーションで囲んで入力しなくてはならない場合は、たいていヘルプにそう書いてありますんで、この辺若干確認しながら作業しないと「あれ??」ってことになっちゃうかもしれません。
多分、半角のかぎカッコはフィールド名の周りに勝手につくと思うんで、

金額=500

とだけ入力してください。オッケーでしたら、このマクロ、なんか適当な名前をつけて保存しましょう。
左上のフロッピーディスクの絵のツールボタンをクリックしてくださいね。
保存できたら、簡単なテストを・・・

画面上の「ビックリマークツールボタン」をクリックしましょう。
これ、「今表示しているマクロを実行する」という意味のボタンです。1行だけのマクロだし、手っ取り早くテストするにはこれで十分でしょう。



さて、絞り込まれた情報が印刷されますか???

んじゃあ、ここでも、「テキストボックスに入力した値を基に絞込み」してみましょうか。
もうカンタンですよね。
ちょっとひねって、「テキストボックスに入力した値以上のもの」ってやってみましょうか。

さっきのフォーム利用しましょうか。「テキスト2の方に入力した値を基に絞込み」をしようかな。
テキストボックス名を確認していただいて、マクロをデザイン画面で開きます。

ちょっと、欄が狭いので長い式を入力するのが大変なんですけど・・・。

[金額]>=[Forms]![がめん]![テキスト2]

↑こうですね。

で、フォームにコマンドボタンかなんか作って・・・・。

今しがた修正したマクロを、クリック時のイベントにします。
一覧から選べるようになってると思います。

で、フォームを保存し、フォームビューに切り替えて・・・。
コマンドボタンをクリックすると、

出ました?
これも、いろいろ使えそうですよね。データベースの中で活用してみてください。

マクロじゃなくて・・・・コードで書く場合も、まあ、イメージ的には同じです。
マクロ名になってるとこ、「イベントプロシージャ」に変更して、右端の...ってちっちゃいボタン、クリックします。

コードはこうですね・・・。
コードで書く場合は、式は「文字列扱い」になるみたいですね。必要な部分をダブルコーテーションで囲んで書きます。

マクロでもコードでもどっちでもおなじことができますから、後はお好みですね。
こういうのはみんな「慣れ」ですから、慣れてる方法で書くようにしていけばよいと思います。
でも、どっちが書きやすいか、なんて、何度もいろいろ作ってみないと判断つかないですよね。
とにかくシンプルなテーブル相手に、いろいろ繰り返し書いてみて、慣れてしまってくださいね。