MS Access で VBA を使用して、文字列内のすべての特殊文字を同等の ASCII 文字に置き換える方法はありますか? 言い換えれば、アンパサンドを削除して、&
他のすべての特殊文字と一緒に , に置き換えたいと考えています。
PHP に相当するものはHTMLSpecialChars
. 挿入にセミコロンがあり、おそらくクエリを爆破しています。挿入用のテキストを消去するには、セミコロンを変換する必要があります。
MS Access で VBA を使用して、文字列内のすべての特殊文字を同等の ASCII 文字に置き換える方法はありますか? 言い換えれば、アンパサンドを削除して、&
他のすべての特殊文字と一緒に , に置き換えたいと考えています。
PHP に相当するものはHTMLSpecialChars
. 挿入にセミコロンがあり、おそらくクエリを爆破しています。挿入用のテキストを消去するには、セミコロンを変換する必要があります。
Access 2000 以降、Access VBA で置換機能を使用できます。
? Replace("a&v", "&", "&")
a&b
置換する他の文字については、その関数パターンを繰り返す必要があります。
ただし、これが INSERT ステートメントの爆発を防ぐことを目的としている場合は、ニシンである可能性があります。セミコロンまたはアンパサンドを含むテキストは、挿入するテキストが適切に引用されているか、パラメーター クエリのパラメーターとして指定されている限り、テキスト フィールドに挿入できます。これらのステートメントは両方とも正常に実行されます。
CurrentDb.Execute "INSERT INTO MyTable (MyText) " & _
"VALUES ('a&b')"
CurrentDb.Execute "INSERT INTO MyTable (MyText) " & _
"VALUES ('a;b')"
失敗した INSERT ステートメントの SQL と、失敗の原因となったテキストの簡単な例を示すと役立つ場合があります。また、エラー メッセージがあれば教えてください。コメントではなく質問に SQL を貼り付けてください。