#624 LIKE演算子に使えない文字を置換するサンプルプロシージャ VBA

LIKE演算子をVBAのコード上でひとつずつ組み立ててSQL文を発行したりレコードセットを取得したりする場合、プログラム上で完全に固定的にその条件を記述するのならよいのですが、テキストボックスから自由に入力された値を元に組み立てるような場合、そこに本来LIKE演算子に使えない文字が含まれているとエラーとなってしまうことがあります。

そのようなケースに備えて、その任意の値を引数として渡すと、本来使えない文字を使える形式に置換するプロシージャ例です。

次の例では、「"」「[ ]」「#」が含まれている場合についてのみ変換を行っていますが、他にも必要であれば付け足してみてください。

Public Function DQ(varData As Variant) As String

  Dim strRet As String

  strRet = Nz(varData)

  strRet = Replace(strRet, """", """""")

  strRet = Replace(strRet, "[", "[[]")

  strRet = Replace(strRet, "#", "[#]")

  DQ = strRet

End Function


実行例:
[実行]ボタンのクリックで下記のようなコードを実行しています。

Private Sub cmd実行_Click()
  MsgBox DQ(Me!テキスト0)
End Sub





| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved