SQLのLIKE句を用いて指定したワイルドカード検索を行います。
LIKE句は以下のような構文になっています。
WHERE 属性名 LIKE '*<文字列>'
WHERE 属性名 LIKE '<文字列>*'
WHERE 属性名 LIKE '*<文字列>*'
ここではNorthWIND.MDBの「社員」テーブルにおいて社員の氏名の中に「川」が付く人のレコードを抽出してその結果をビュー「新規クエリ」に書き出しています。
●サンプルコード●
Private Sub SQL_Like()
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 氏名 LIKE '*川*'"
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
●動作確認●
作成されたビュー「新規クエリ」に「川」が付く氏名の社員のレコードが作成されていることを確認してください。
●補足●
プロバイダによっては「*」が使えない場合があります。