いままではデータはすべて、エクセルを用いて管理してきました。
べつに、それで不便を感じることもなかったし、実際それほど大きなデータ量を扱うことも、その必要性も感じてなかったのが現状でした。
今回、国内の法定、届出あるいは監視伝染病をデータベース化しようと考えた時に、エクセルでの限界を感じました。
もっとも、エクセルにそれほど精通していたわけでもありませんが、、。
そこで、アクセスにとりかかったわけですが、試行錯誤しながらの毎日です。
しかし、アクセスの1つのオブジェクトであるクエリーを何とかマスターすれば道は開けそう、、とは感じています。
なお、アクセスは全角、半角や大文字、小文字あるいはカタカナ、ひらがなをすべて同義語として扱います。
この機能も計画性のない不精者には最適であろうと思っています。
そのクエリーの1つの機能である抽出方法を自分の覚え書きのために列挙しました。

@文字データを用いて抽出
1)一致するレコードの抽出
2)一致しないレコードの抽出
3)文字列が一致するレコードの抽出
4)指定した文字が含まれないレコードの抽出
5)複数の文字列が一致するレコードの抽出

A数値データを用いて抽出
1)指定した数値と同じレコードの抽出
2)指定した数値よりも大きいレコードの抽出
3)指定した数値よりも小さいレコードの抽出
4)指定した数値以上のレコードの抽出
5)指定した数値以下のレコードの抽出
6)指定した数値と等しくないレコードの抽出

B日付データを用いて抽出
1)現在の日付でレコードを抽出
2)特定の日付のレコードを抽出
3)現在の日付より以前のレコードを抽出
4)特定の日付より以前のレコードを抽出
5)指定した日付の範囲内に含まれるレコードを抽出
6)四半期ごとのレコードを抽出

ホームページへ

1−1)完全に一致するレコードの抽出には比較演算子の=を用いる。
伝染病フィールドの抽出条件ボックスに
=”届出伝染病”
と入力してクエリを実行すると、伝染病フィールドには届出伝染病だけが抽出される。

1−2)完全に一致しないレコードの抽出にはNot演算子、比較演算子の<>を用いる。
伝染病フィールドの抽出条件ボックスに
Not”届出伝染病”
または
<>”届出伝染病”
と入力してクエリを実行すると、伝染病フィールドには届出伝染病以外が抽出される。

1−3)文字列の一部が一致するレコードの抽出にはLike演算子を用いる。
Like演算子とワイルドカードを組み合わせると、ファジーな条件でレコードを抽出することが可能となる。
実際には、これが一番使える演算子かもしれません。
抽出条件ボックスに以下を入力する。
@Like”○○*”  (*は複数文字列を示す)
 使用例
   Like”*病”とする文字列の最後に病がつくレコード、例えば結核病や法定伝染病、届出伝染病および監視伝染病などのレコードが抽出される。
   Like”*伝*”とすると文字列の中に伝がつくレコード、例えば法定伝染病、届出伝染病および監視伝染病などのレコードが抽出される。
   Like”伝*”とすると文字列の最初に伝がつくレコード、例えば伝染病などのレコードが抽出される。
@Like”○○?”  (?は1つの文字を示す)
 使用例
   Like”サルモネラ?”とするとサルモネラ病、サルモネラ症などのレコードが抽出される。
@Like”○○#”  (#は0〜9までの数字を示す)
 使用例
   Like”1#5”とすると115、125、135、145〜195のレコードが抽出される。





1−4)指定した文字を含まないレコードの抽出にはNot演算子とLike演算子を用いる。

NotとLike演算子を併用するとともにワイルドカードを組み合わせると、””内の文字列を含まないレコードを抽出することができる。
抽出条件ボックスに以下を入力する。
使用例
Not Like”*サルモネラ*”とするとサルモネラを含むすべてのレコードが抽出されなくなる。 

1−5)複数の文字列が一致するレコードの抽出にはIn演算子を用いる。
抽出条件ボックスに以下を入力する。
使用例
In(”法定伝染病”、”監視伝染病”)とすると法定、監視伝染病のレコードをすべて抽出する。

2−1)指定した数字と同じレコードの抽出には=演算子を用いる。
抽出条件ボックスに以下を入力する。
使用例
=100とするとフィールドの数値が100のレコードだけを抽出する。

2−2)指定した数字より大きいレコードの抽出には>演算子を用いる。

2−3)指定した数字より小さいレコードの抽出には<演算子を用いる。

2−4)指定した数字以上のレコードの抽出には>=演算子を用いる。

2−5)指定した数字以下のレコードの抽出には<=演算子を用いる。

2−6)指定した数値と等しくないレコードの抽出には<>演算子を用いる。

3−1)今日の日付でレコードを抽出するにはDate関数を用い、抽出条件件ボックスに=Date()と入力する。

3−2)特定の日付のレコードを抽出するには抽出条件ボックスに=Date(特定の日付)を入力する。

3−3)現在の日付以前のレコードほ抽出するにはDate関数と比較演算子を用い、
            現在の日付を含めない場合には<Date()を抽出条件ボックスに入力する。
            現在の日付を含める場合には<=Date()を抽出条件ボックスに入力する。

3−4)特定の日付以前のレコードを抽出するにも3−3と同様であり、
            特定の日付を含めない場合には<Date(特定の日付)を抽出条件ボックスに入力する。
            特定の日付を含める場合には<=Date(特定の日付)を抽出条件ボックスに入力する。

3−5)指定した日付の範囲内にあるレコードを抽出するにはBetween〜And〜演算子を用いる。
抽出条件ボックスにBetween #日付# And #日付#と入力する。

指定した日付以外ほ抽出する場合にはNot演算子を併用する。

使用例  Not Between #日付# And #日付#

3−6)四半期ごとのレコードを抽出するにはDatePart関数を利用する。
フィールドの抽出条件ボックスに以下の関数を入力する。
使用例:第一四半期の場合
DatePart(”q”,[フィールド名])=1