- 日時: 2009/12/26 16:07
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[文字列処理][データベース][基本コード] * * キーワード:SQL文,SQLの書き方,複合条件,判定関数,置き換え,検索,条件式 * *********************************************************************************** タイトル : 文字列変換 記 事 No : 13387 投 稿 日 : 2009/02/02(Mon) 02:32 元質問者 : ドラえもん
ある文字列でAND OR BETWEEN LIKE 以外の文字を'で囲む方法を調べています。 例えば のびた AND すねお なら 'のびた' AND 'すねお' BETWEEN 2001/01/01 AND 2002/01/01 なら BETWEEN '2001/01/01' AND '2002/01/01' LIKE ドラ* なら LIKE 'ドラ*' 見たいな感じです。
INSTRやMIDだけでもできそうな気もしますが、すごい大変です。 もっと簡単な方法を知っている方いらっしゃいましたら教えていただけないでしょうか。
----------------------------------------------------------------------------------- 記事No : 13390 投稿日 : 2009/02/02(Mon) 12:26 回答者 : 花ちゃん ----------------------------------------------------------------------------------- Split関数 と Join関数を使って下記のような感じにした方が簡単かな
Option Explicit
Private Sub Command1_Click() Debug.Print MySqlJoin("BETWEEN 2001/01/01 AND 2002/01/01") End Sub
Private Function MySqlJoin(ByVal myString As String) As String Dim AddDat As Variant Dim i As Long AddDat = Split(myString, " ") For i = LBound(AddDat) To UBound(AddDat) If AddDat(i) = "AND" Or AddDat(i) = "OR" Or _ AddDat(i) = "BETWEEN" Or AddDat(i) = "LIKE" Then Else AddDat(i) = "'" & AddDat(i) & "'" End If Next i MySqlJoin = Join(AddDat, " ") End Function 後は、追加条件やエラー処理等を付け足して下さい。
|