一覧
特殊文字 | VBAの関数 |
---|---|
ラインフィード(LF) | Chr(10) |
キャリッジリターン(CR) | Chr(13) |
CR+LF | Chr(13) & Chr(10) |
水平タブ | Chr(9) |
垂直タブ | Chr(11) |
バックスペース文字 | Chr(8) |
NULL終端文字列(NULL文字) | Chr(0) |
半角ダブルクオテーション | Chr(34) |
全角ダブルクオテーション | Chr(33128) |
ノーブレークスペース | ChrW(160) |
よく使うサニタイズSQLスニペット
-- AccessはNULLをReplace()に通すと例外になるので、まずNULLは空文字に。
UPDATE [テーブル名] SET [カラム名] = Nz([カラム名], '');
-- 改行除去。
-- CR+LFは下記2つを流せば消えるので、わざわざCR+LFをReplace()する必要は無い。
UPDATE [テーブル名] SET [カラム名] = Replace([カラム名], Chr(10), '');
UPDATE [テーブル名] SET [カラム名] = Replace([カラム名], Chr(13), '');
-- タブ除去。
UPDATE [テーブル名] SET [カラム名] = Replace([カラム名], Chr(9), '');
UPDATE [テーブル名] SET [カラム名] = Replace([カラム名], Chr(11), '');
-- バックスペース文字除去。
UPDATE [テーブル名] SET [カラム名] = Replace([カラム名], Chr(8), '');
-- NULL終端文字列除去。
UPDATE [テーブル名] SET [カラム名] = Replace([カラム名], Chr(0), '');
-- 半角ダブルクオテーションを全角ダブルクオテーションに。
UPDATE [テーブル名] SET [カラム名] = Replace([カラム名], Chr(34), Chr(33128));
-- ノーブレークスペースを通常の半角スペースに。
UPDATE [テーブル名] SET [カラム名] = Replace([カラム名], ChrW(160), ' ');
バージョン
Windows 10 Pro 21H2 OSビルド 19044.1889
Microsoft Access for Microsoft 365 MSO (バージョン 2207 ビルド 16.0.15427.20166) 32 ビット