【Access】Trim関数3種類で空白を削除する

アクセス担当のまみです。

データ入力時やインポートしたデータに空白が混じっていることがあります。

なんで空白が混じっちゃうのかなって話はさておき、空白が混じっていると、データ抽出がうまくできません・・・。

 

「東京」と「東京 」は別データとして扱われます・・・。

前の空白ならまだしも、後ろの空白はわからないですね・・・

空白を取り除く作業を手作業で行っていたら時間はかかるし、必要なデータまで削除してしまいそうで大変!

 

そんな時は関数に空白を削除してもらいましょう!

 

 

空白を削除してくれる関数

 

(あいちゃん)
空白を削除してくれる関数は3種類あるよ!

 

構文
LTrim (string)
RTrim (string)
Trim (string)

 

LTrim・・・・データの左側(先頭)の空白を削除してくれます。

RTrim・・・・データの右側(末尾)の空白を削除してくれます。

Trim・・・・データの前後の空白を削除してくれます。

 

(あいちゃん)
それぞれの違いを見てみよう!

 

使用するテーブル

「T_サンプルデータ」

データ型は「短いテキスト」です。

 

(はてな君)
色んな空白が入ったりんごがたくさん!

 

クエリで3種類のTrim関数を使用してみる

 

リボンの①「作成」タブから②「クエリデザイン」を選択し「T_サンプルデータ」を追加します。

 

フィールドに3種類入力してみましょう。

 

LTrim: LTrim([商品名])

RTrim: RTrim([商品名])

Trim: Trim([商品名])

 

(あいちゃん)
データシートビューに切り替えてみてね!

 

クエリの結果

 

(あいちゃん)
3種類のTrim関数の違いが分かってもらえたかな?

 

(はてな君)
後ろの空白はわかりにくいけど、カーソルをデータに移動させてみたら空白があるかないかわかるね。
文字の間の空白って除けるの?

 

(あいちゃん)
Trim関数では削除できないけど、Replace関数でできるよ!

 

(はてな君)
Replace関数って文字を置き換えてくれるんでしょ?空白を削除?

 

(あいちゃん)
そう。「” ”」空白を「””」に置き換える。

 

(はてな君)
あ~そういうことか~。

 

【Access】Replace関数を使ってデータを置き換える方法

2018年11月26日

 

フィールドに「Replace: Replace([商品名],” “,””)」と入力します。

 

クエリの結果

 

(はてな君)
Replaceだと全部の空白が削除されるんだね。

 

(あいちゃん)
違いを見るために選択クエリで結果を表示させているけど、実際にデータの空白を削除するには更新クエリを使ってね!更新クエリを実行する前には・・・

 

(はてな君)
バックアップを取っておかないと元に戻せないんだよね!

 

Accessテーブルのバックアップをする方法

2018年11月18日

 

(あいちゃん)
どうする?どれか一つ空白の削除やってみる?

 

(はてな君)
え~っと。じゃあTrim関数!

 

(あいちゃん)
じゃあクエリは「Q_比較」って名前つけてテーブルもバックアップ取っておいてね!

 

更新クエリで空白を削除

 

リボンの①「作成」タブから②「クエリデザイン」を選択し「T_サンプルデータ」を追加します。

 

リボンの①「デザイン」タブから②「更新」を左クリックします。

 

フィールド名に「商品名」を選びレコードの更新に「Trim([商品名])」と入力します。

 

(あいちゃん)
これで「!」実行を左クリックで空白が取り除かれるよ!

 

クエリの結果

 

クエリは「Q_Trim」と名前をつけておきましょう。

 

(あいちゃん)
「Q_Trim」はナビゲーションウインドウを左ダブルクリックで開くとクエリが即実行されるので注意してね!
右クリックでデザインビューにするといいよ!

 

まとめ

 

どこの空白を削除したいかで、3種類のTrim関数を使い分けてくださいね。

 

全部の空白を削除するにはReplace関数だけど、文字の間の空白を削除したら、同じように空白を入れるのはできないのでご注意を!