HOME > 即効テクニック > AccessVBA > クエリ・SQL > SQLで特定のグループを選択する(IN検索)

即効テクニック

クエリ・SQL

SQLで特定のグループを選択する(IN検索)

(Access 97)
●概要●
SQLのIN句を用いて指定したグループのレコードを抽出します。
IN句は以下のような構文になっています。

 WHERE 属性名 IN ('値1','値2',…)

ここではNorthWIND.MDBの「社員」テーブルにおいて社員の所属する部署名が「営業一」または「営業二」であるレコードを抽出して、その結果をビュー「新規クエリ」に書き出しています。
●サンプルプログラム●
Private Sub SQL_IN()
 Dim cn As New ADODB.Connection
 Dim cmd As ADODB.Command
 Dim cat As New ADOX.Catalog
 Dim strSQL As String
 
 Set cn = New ADODB.Connection
 cn.ConnectionString = _
        "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=D:\NorthWIND.MDB"
 cn.Open
 cat.ActiveConnection = cn
 
 '「社員」テーブルの部署名が「営業一」または「営業二」であるレコードを抽出
 strSQL = "SELECT * FROM 社員 WHERE 部署名 IN ('営業一','営業二')"
  
Set cmd = New ADODB.Command
 cmd.ActiveConnection = cn
 cmd.CommandText = strSQL
 cat.Views.Append "新規クエリ", cmd
 cn.Close

 Set cmd = Nothing
 Set cn = Nothing
 Set cat = Nothing
 
End Sub
●動作確認●
作成されたビュー「新規クエリ」に所属部署が営業一」または「営業二」である社員が全て選択されているかどうか確認してください。