Access:文字列の間にある空白を削除する更新クエリの作成方法

文字列の間にある空白を取り除き、テーブルを更新するクエリの作成方法です。

BackHome Backクエリ

ここでは姓と名の間にある空白を検索し、削除した結果をテーブルに反映させるクエリを作成します。

Instr関数で空白を検索し、先頭から見つかった位置を-1した文字列と、末尾から見つかった位置の文字列を結合します。

先頭から取り出すにはLeft関数を、末尾から取出すにはRight関数を使います。

この3つの関数を組み合わせた式を作成します。

式:Left(フィールド名,instr(フィールド名," ")-1) + right(フィールド名,len(フィールド名)-instr(フィールド名," "))

Instr関数の使い方はこのページを、Left関数の使い方はこのページを、Right関数の使い方はこのページを参照してください。

更新クエリについては「更新クエリを作成|大量データや指定レコードを更新する」も掲載していますので参考にしてください。




文字列の間にある空白を削除する更新クエリを作成する

クエリの元になるテーブルです。

例として、下記テーブルの担当者名の姓と名の間を取りテーブルを更新するクエリを作成します。

更新元の担当者テーブル

文字列中から空白を検索するには、Instr関数を使います。

空白以外の文字を取り出すには、Left関数、Right関数を使います。


クエリのデザイン画面で作成します。

リボンの「作成」-「クエリ デザイン」をクリックします。

文字列の間の空白を除き更新するクエリの作成開始

更新するテーブルを追加します。

ここでは担当者データベースの「T_担当者」を使用します。

担当者テーブルを追加する

担当者名の姓と名の空白を除くので、担当者名をダブルクリックし、デザイングリッドに追加します。

そして、リボンの「クエリツール デザイン」-「更新」ボタンをクリックします。

これで更新クエリになります。

担当者名を追加する

レコードの更新欄に、空白を取り除く式を入力します。

Left([担当者名],instr([担当者名]," ")-1) + right([担当者名],len([担当者名])-instr([担当者名]," "))

担当者名の空白から左側部分+担当者名の空白から右側部分、という内容を実行します。

スペースを取り除く式を入力する

リボンの「クエリツール デザイン」-「実行」ボタンをクリックします。

クエリを実行する

「○件のレコードが更新されます。[はい]をクリックするとレコードは更新され、元に戻すことはできなくなります。

レコードを更新してもよろしいですか?」とメッセージが表示されるので、問題なければ「はい」ボタンをクリックします。

更新確認のメッセージ

作成したクエリの実行画面です。

担当者名の間の空白がなくなっています。

スペースがなくなった名前

BackHome Backクエリ

Copyright(C) FeedSoft