つい先日SQLについて書いたところ、早速セミナーでもSQLの基本に関するご質問を頂きました。
Accessを学習し始めて最初に覚えておいた方がよいSQLというとWHERE句ではないでしょうか。
クエリのデザインビューで言うと「抽出条件」の欄に入力した部分が、SQL文のWHERE句(WHEREで始まる部分)に変換されます。
ごく簡単な例を書いてみます。
(抽出条件1)
数値型の「顧客ID」フィールドの値が 100 と等しいデータ
(WHERE句の例1)
WHERE 顧客ID = 100
(抽出条件2)
テキスト型の「顧客名」フィールドの値が文字列 花子 と等しいデータ
(WHERE句の例2)
WHERE 顧客名 = "花子"
SQL文の中で文字列データは半角の " " で囲みます。
VBAのプログラムの中で " " を使って囲む場合は " " を ' ' に修正します。
(VBAで利用する場合の例)
"WHERE 顧客名 = '花子'"
クエリのデザインビューで抽出条件を入力し、SQLビューで確認すると、WHEREに続けてどのような記載になるかを確認することができます。
SQLビューでは以下のように ( ) や テーブル名も追加されます。
(AccessのSQLビューの例)
WHERE (((顧客マスター.顧客名)="花子"));
(意味)
「顧客マスター」テーブルの中にある「顧客名」フィールドの値が、文字列 花子 と等しいデータ
意外に多いミスは半角と全角の入力ミスです。
「WHERE」や文字と文字の間に入る空白などは半角になります。
WHEREを小文字の where と書いても動きますが、
全角で WHERE と書くと動きません。
Accessの表示が初期設定で「MS Pゴシック」になっているので、全角と半角の違いが画面上で見分けにくく、スペースキーで半角に変換して入力していると、ついつい間違えてしまうことが多いようです。
「どう見ても合っていると思うのになぜかエラーになってしまう」
というような場合は、もう一度入力し直してみてください。
Accessを使っていると、グループ集計、クロス集計、マクロなどで「WHERE条件」という言い方で抽出条件を指定させる機能があります。
SQL文のWHERE句について理解しておくと、AccessのWHERE条件も入力がしやすくなることと思います。
2010年05月19日
SQLのWHERE句
posted by Three bit com at 10:00| Access(アクセス)