#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'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします
 

Copyright © T'sWare All rights reserved