アクセス担当のまみです。
ある一定の法則に基づいてデータを置き換えたい時があったりします。
大量のデータをどうやって置き換えるのって思うだけで気がめいってしまいそう・・・
そんな時に一度に置き換えができたらとっても助かりますね。
クエリでReplace関数を利用すれば、簡単に置き換えできちゃいます。
今回は、Replace関数についてお伝えしますね。
Contents
作業前にはバックアップを
作業前にバックアップを取ることをおススメします。
バックアップがあればすぐに元に戻せるけど、バックアップがないと元に戻すのはとっても大変です。
ファイルごとバックアップを取る方法もあるけど、こういう時に私がよく使うのはテーブルのバックアップです。
Replace関数
最初の3つまでは必須、[ ]で囲ってある残りの3つは省略可能です。
引数 | 説明 |
expression | 置き換える前の文字列 (対象がテーブルならフィールド名) |
find | 検索する文字列 |
replace | 置換する文字列 |
start | 検索開始位置の指定 (省略すると1文字目から検索) |
count | 置換する回数 (省略するとすべての文字を置換) |
compare | 比較モード (省略するとクエリやフォームでは「2」VBAでは「-1」が指定される) ※下記参照 |
※expression, find, replaceのいずれかにNullがあるとエラーになる。
比較モード
値 | 説明 |
-1 | Option Cpmpareステートメントの設定のとおり 設定がない場合はバイナリモードで比較 |
0 | バイナリーモードで比較 (全角半角、大文字小文字、ひらがなカタカナを区別する) |
1 | テキストモードで比較 (全角半角、大文字小文字、ひらがなカタカナを区別する) |
2 | Accsessの設定のとおり (既定値はテキストモード) |
1種類のデータの置き換え
使用するテーブル
このテーブルの部署名が「総務部」から「総務経理部」に変わったって想定で置き換えをしてみましょう。
使用例 |
Replace([部署名],”総務部”,”総務経理部”) |
クエリを作成し、フィールドは「部署名」を選択しておきます。
リボンの「クエリツール」の①「デザイン」タブから②「更新」を選択し、レコードの更新に③「Replace([部署名],”総務部”,”総務経理部”)」を入力します。
リボンから「表示」を左クリックしてみましょう。
さっきデータを置き換えちゃったので、総務部に戻してね!バックアップを使ってもいいね!でも実は置き換えでもできるんだ。
使用例 |
Replace([部署名],”経理部”,””) |
[quads id=2]
2種類以上のデータの置き換え
「総務部」が「総務経理部」に「営業部」が「営業推進課」に変わったとして置き換えてみましょう。
作成方法は先程と同じでレコードの更新に「Replace(Replace([部署名],”総務部”,”総務経理部”),”営業部”,”営業推進課”)」を入力します。
3つ以上置き換え対象があれば公式が複雑になるけど、どんどん入れ子にすれば一気に置き換えができます!
まとめ
Replace関数ってデータを置き換えたい時に便利ですね。
(株)から株式会社に置き換えたいとか他にも色々あると思います。
ぜひ活用してくださいね!