即効テクニック

日付・文字列操作・演算

文字列を置換する

(Access 2002)
● 概要 ●
構文 REPLACE(フィールド, 検索する文字列, 置換する文字列[, 検索開始位置
   [,置換文字列数[, 文字列比較モード]]])


REPLACE関数を使用して、指定したフィールドに含まれる文字列を置換します。
検索開始位置を省略すると1が指定されたことになり、フィールドの先頭から検索されます。
また、置換文字列数を省略すると、検索された文字列のうちのすべての文字列が置換対象となります。
REPLACE関数は、フィールドの値がNULL値の場合、エラーとなるため、NULL値を含むフィールドに使用する場合は、REPLACE関数を使用する前にNZ関数でNULL値を別の値に置換する必要があります。


● サンプル ●
'文字列を置換する
Public Sub Sample()

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

    'SQLステートメントを定義する
    mySQL = "SELECT " & _
            "部署コード,REPLACE(NZ(部署名,''),'部','セクション') " & _
            "FROM 部署テーブル ;"

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

End Sub


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