HOME > 即効テクニック > AccessVBA > クエリ・SQL > パターンマッチングで検索する

即効テクニック

クエリ・SQL

パターンマッチングで検索する

(Access 2000/2002)
●概要●
LIKE演算子を使用して、パターンマッチングを使った検索を行うことができます。
パターン文字列に次のワイルドカードを使って条件を指定します。

  *      任意の文字列。長さ0の文字列でも可
  ?      任意の1文字
  #      任意の1文字の数字

サンプルでは、「名前」の2文字目に「田」を含むレコードを検索します。
●サンプル●
'パターンマッチングで検索する
Public Sub Sample()

    Dim myDB As Database
    Dim myRS As DAO.Recordset
    Dim mySQL As String

    'SQLステートメントを定義する
    mySQL = "SELECT * FROM 社員テーブル WHERE 名前 LIKE '?田*' ;"

    'カレントデータベースを変数に代入する
    Set myDB = CurrentDb
    'SQLステートメントを実行してレコードセットを開く
    Set myRS = myDB.OpenRecordset(mySQL, dbOpenDynaset)
    'レコードセットの内容を表示する
    Do Until myRS.EOF
        Debug.Print myRS!社員コード & " " & myRS!部署コード & " " _
               & myRS!名前 & " " & myRS!入社年月日 & " " & myRS!職種
        myRS.MoveNext
    Loop
    'レコードセットを閉じる
    myRS.Close

End Sub
●補足●
結果は[イミディエイト]ウィンドウに表示されます。

● 実行結果例 ●
10001 10 山田夏雄 1999/04/01 マネージャ
20012 50 上田明子 1985/04/01 
20054 50 下田初男 1980/09/01 マネージャ
50075 50 中田弘樹 1982/04/01