SQLの基本

Access VBA SQLの書き方2 WHERE 抽出条件

SQLの書き方2 WHERE 抽出条件

前回は「SELECT ~ FROM」を説明しましたので今回はこの構文に抽出条件を追加した構文を説明していきます。

WHERE句

WHERE句は対象となるレコードの抽出条件を指定します。

SELECT * FROM テーブル名 WHERE フィールド名=抽出条件

例 (データベース作成講座で使用している「T_社員マスタ2013」を使います。)

SQL = “SELECT * FROM T_社員マスタ2013 WHERE 性別コード=’0′”

このSQLを実行すると「T_社員マスタ2013」の性別コード「0」を抽出します。
(性別コード「0」は男としています。)
また、性別コードは文字列なのでシングルコーテーション「’」でくくります。
では、実際にプログラムを作成してみましょう。
(使用するフォームはSQLの書き方1と同じものを使用しています。)

WHEREを使用したプログラム例

Private Sub コマンド0_Click()

Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset
Dim SQL As String

Set CN = CurrentProject.Connection
Set RS = New ADODB.Recordset

SQL = “SELECT * FROM T_社員マスタ2013 WHERE 性別コード=’0′”

RS.Open SQL, CN, adOpenStatic, adLockOptimistic

If RS.EOF = False Then

Do Until RS.EOF

Debug.Print RS!社員コード & RS!名前 & RS!性別コード

RS.MoveNext
Loop

End If

RS.Close: Set RS = Nothing
CN.Close: Set CN = Nothing

End Sub

前回と同様に「イミディエイトウィンドウ」に抽出結果を表示します。
また、今回は「社員コード」と「名前」と「性別コード」を表示させています。

sqlkakikata08

「社員コード」と「名前」及び「性別コード」(0)が表示されていれば成功です。

いかがでしょうか?
今回はSELECT文にWHERE句を追加し抽出条件を設定してみました。
次回はテーブル同士に結合を行い、今回抽出した性別コード(0)を性別(男)と表示するSQL文を作成します。