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



さて・・・ここまでオッケーでしたら、次のステップへ進んでみましょう。
ヘッダー部分のどっか適当なとこにテキストボックスを一個作りましょう。
このテキストボックスに入力した値を使った絞込みをしてみましょうか。
ええと・・・わたしのは、テキスト11っていう名前でした。このまま使っちゃおうかな。

まずは、この絞込みの基本形をおさらいです。

"分類 = '武器'"

これですよね↑
「なんでシングルコーテーションがついてるんですかぁ」とか、言うなよー!!!!!

武器の部分が、そのままそっくりこのフォーム上のあのテキストボックスの名前になるわけです。

"分類 = 'Me!テキスト11'"

でも、これではだめです。分類の列に、「Me!テキスト11」と入力されているレコードを探してしまいます。

なので・・・・・Me!テキスト11をダブルコーテーションの外に出します。出すっつっても勝手に出しても意味がないんですけど、とりあえず、シングルコーテーションとMe!テキスト11の間に、ちょっぴりスペースをあけてみましょう。

"分類 = ' Me!テキスト11 '"

つまりこの式は私事都合により3つのパーツに別れることになるんですな。

"分類 = '" Me!テキスト11 "'"

で、左側部分、真中部分、右端部分の3パートに分けまして(気持ち的に)、左側は左側でダブルコーテーションで囲んだ形にし、右端は右端でダブルコーテーションで囲まれたような形にします。
で、3つバラバラだと多分怒られちゃうので、&でくっつけます。

"分類 = '" & Me!テキスト11 & "'"

これで完成です♪
テキスト11に入力して、コマンドボタンクリックすると、絞り込まれますよね。

これが、数値の場合だと・・・。

まず、基本形がこうだったと↑しますね。イコールでもいいですけどちょっと背伸びして「2500円以上」って式でチャレンジしてみましょう。

"金額 >= 2500"

             ↓

"金額 >= Me!テキスト11"

まず、↑2500の部分をテキストボックスの名前にして、テキストボックス名の両側を少しスペース空けます。

"金額 >=  Me!テキスト11 "

テキストボックスの名前をダブルコーテーションの外に出したいのですけど・・・左端は"金額 >= "の部分がひとくくりになりますが、右端は、ダブルコーテーション一個しかないっすね。こういう場合はですね、いらないっす。

"金額 >= " & Me!テキスト11

↑これが、数値型フィールド相手の場合です。
動きますよね。

「テキストボックスに入力した後、コマンドボタンをクリックしないですぐ絞り込むようにするにはどうしたらいいの?」なんてー・・・・言わないで下さいよ。
そうしたいなら、テキストボックスの更新後処理っていうところに、フィルタの式を書けばいいんですよね。
今は、コマンドボタンのクリック時のイベントのところに、フィルタが動くような処理を書いてるから、コマンドボタンをクリックしたとき絞り込まれるんです。
そのへん、見失ったらダメですよ。皆さんが見失っちゃったら、だーれもわかんないですからね。

じゃあ、日付の場合は???もうみなさんお分かりですよね。

こうですね。テキスト型のときの、シングルコーテーションの位置に、イゲタが入る感じになります。

動きます?
もしここで、結果が思うように返ってこない、という方は、さっきお話しましたけど、多分、日付時刻型の書式が関係している問題だと思われます。
別コーナーで解説させていただいてますんでお立ち寄りください。

思ったようにデータを抽出するための条件式を書くのは、とっても難しいです。テストを繰り返していろいろ試してみて、初めてわかることもたくさんあります。
わたしは、MS-Accessの「クエリ」というオブジェクトは、条件式を書くことになれていない人でも複雑な条件を作ることができるよう、とてもよく考えられていると思ってます。クエリをたくさん作っていくことで、データベースになじみのない方でも絞込みや検索の仕組みが見えてくると思うんですよ。それでこそ、Where文とか書くときも、いろいろアイディアが浮かぶと思うんです。

だいたいどんな感じで式を書いていくのか、雰囲気掴んでいただけました?
ダブルコーテーションとかシングルコーテーションとか、無作為に並んでるわけじゃないんですよ。ちゃんと意味があるんです。
でもって、こうした書き方というのは、式の概念等々も絡んできますので、Accessのバージョンによっても若干異なったりすることがあるんです。なので、ヘルプを参照するクセつけとかないと・・・・いろいろ書き方サンプルとかも載ってますから、こまめに参照するようにしてくださいね。ヘルプ。