<HOME  <お願い事項  <Access2000 TOP   <Access97 TOP   <サイト内検索
 MS-Access2002チョ〜入門部屋>基本をマスターしよう
  (←別ウィンドウでサブメニュー)



10.いろいろな抽出条件2

ではどんなんなるか確認してみましょう。
左上のツールボタンをクリックしてデータシートビューにしてみると・・・。

絞り込まれてます?
え?1件も出てこない?
それは、アナタ、1997/4/1入社っていう人が、テーブルにないからじゃないです???
テーブルにどういうデータ入力してます?
ご自分で入力した記憶のある「入社年月日」を抽出条件に使ってくださいよ。ない袖は振れませんよ。

絞り込まれてはいますが、なんかどうやら、入社年月日が2列できちゃってますね。
わたしのは、「フィールド0」っていう列が一番右端に出てて、どうも入社年月日のことみたいなんですけど、皆さんの画面ではどうですか???

*を使ってる時点で、全フィールドが出るようになってる上に、抽出条件として並べてるから、入社年月日が2回出てきちゃってるんですね。まあこれでも別に問題はなさそうですけど、なんかウザいですよねー。
じゃあ、デザインビューに戻りましょう。左上の三角定規ボタンをクリックします。

で、「表示」っていうところを見てください。チェックマークがついてますね。

これついてるフィールドだけ、表示の対象になるんです。右端の、「入社年月日」のフィールド、チェックを外しましょう。
これで、「抽出条件の際には使うけど、この列は表示はしない」っていう状態になります。



次に、1997/4/1から1997/6/30までの間に入社した人を出してみます。
いろんなやり方があるんですが、Between and っていうのが、わりかし一般的かもしれないです。
○○と××の間っていう意味です。
書くのが少しばかり面倒ですけど、いろんなところで使えると思うんで、挑戦してみてください。

これじゃちょっと欄が狭いから、広げましょか。赤い○印のところを右側にそっとドラッグして、欄を広げてください。

でもって、このように↓書きます。

  between 1997/4/1 and 1997/6/30 です。

今回もイゲタが勝手につきますので、気にしないでください。

じゃあ、見てみましょうか。データシートビューに切り替えてみましょう。
どうでしょう?

指定した範囲のレコードだけ表示されると思うんですが、いかがですか?
確認ができたら、デザインビューに戻りましょう。



もし、一旦選んだフィールドを削除したい場合は、赤い○印の部分をクリックして黒く反転させ、Deleteキーを押してください。
1列、削除されます。
んじゃ、抽出条件を入力するために選んだ「入社年月日」の列、削除しましょうか。



んではもうひとつ・・・。1997年に入社した人を全部出したい場合は、どうすればいいでしょう?
これははまりやすいところなんですけれど・・・
まず、これじゃダメなことは↓、分かりますよね?

1997だけ指定しても、だめです。日付時刻型のデータって、そういう構造じゃなかったですよね。

やり方は大きく分けて二通りあるんです。
ひとつめは、上でお話したBetween and を活用して、1997年の1月1日から12月31日までを範囲指定すればよいはず。
これは、簡単ですよね。Between 1997/1/1 and 1997/12/31 です。

で、もうひとつの方法は、「入社年月日の年の部分だけ取り出す」っていう作業をちょこっとだけ加えてやるんです。
ちょっと高度かも分かりませんが・・・やってみましょうか。

じゃあ、ペンだこの右隣の、空いているフィールドグリッドにカーソルを移してください

   DatePart("yyyy",入社年月日)

カッコが自動的につくかもわかんないですがあんまり気にしないで。
入力できたらデータシートビューに切り替えてみましょう。

Datepartっていうのは、いわゆる「関数」って呼ばれるもののひとつです。Datepartは、指定した日付時刻型のフィールドの値(この場合は入社年月日)から、指定した部分だけ取り出しちゃいなさいっていう関数です。で、yyyyって指定してあるんで、年の部分だけ取ってきてくれるんです。

どうでしょう。基のテーブルにはそんなフィールドはないんですけど、このクエリの中オリジナルの列として「式1」っていう列ができてますよね。クエリでは、こんなふうに、基のテーブルのフィールドの値とかを使って新たなフィールドを設けたりできちゃうんです。これも、いろんなケースで応用が利くんですよ。
まあ、今日は「こんなこともできるのね」くらいな感じで見といてください。

え?これでどうするのかって?んもー、ちょっと考えてみてくださいよー。この列を使えば、「1997年の人だけ」っていう絞込みが、できるじゃありませんか。

こうですよ。↑
もし、式1っていう列は表示させたくないなって思ったら、この「表示」っていうところのチェックマークを外します。

じゃあ、このクエリも名前を付けて保存しておきましょうか。
1997年に入社した人のリストを見るときはこのクエリを開きましょう。
名前はお任せしますよ。名前付けの規則にしたがって、分かりやすいものをつけてくださいね。