ACCESS 複数の条件で文字を一括置換する方法
ACCESSで文字の置換を行う際に利用するのはReplace関数です。
Replace関数の基本的な構文は比較的単純ですが、実務で利用する場合には条件に応じて置換を行うケースが多くなります。
今回は、ACCESSにおいて複数の条件で文字を一括置換する方法をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSで実際に作成したフォームやレポートを、その作成方法と共にご紹介していきます。
完成形
最初に完成形を示しましょう。
今回はテーブルの「型番」というフィールドに対して、
①末尾の文字が「A」だったら「Z」に変換する
②末尾の文字が「B」だったら「X」に変換する
③どちらにも該当しなかったら変換しない
という条件で変換を行います。
結果はこちらです。
変換フィールドには上記の条件で変換した結果が表示されています。
このように複数条件で文字を置換する方法をご説明します。
クエリでの変換
今回はクエリで文字の変換を行っています。
クエリデザインからクエリを作成します。
その後、クエリのデザインビューで上段のデザイングリッドに元となるテーブル(今回はT_変換)を追加します。
そして、下段のフィールドリストに型番を配置します。
型番の右側の空白のフィールドに以下のように記述します。
変換: IIf(Right([型番],1)="A",Replace([型番],"A","Z"),IIf(Right([型番],1)="B",Replace([型番],"B","X"),[型番]))
なお、クエリのフィールド欄に長い文字を打ち込む場合は、メニューにある「ビルダー」を利用すると便利です。
ビルダーを使うとこのような画面で関数を編集できます。
では、条件式を解説します。
最初の
IIf(Right([型番],1)="A",Replace([型番],"A","Z")
ではRight関数を使って、「型番」フィールドの一番右側の文字が何かを調べ、それが「A」だった場合の処理を記述しています。
「A」だった場合は、Replace関数を使って「A」を「Z」に変換します。
後半部分の
IIf(Right([型番],1)="B",Replace([型番],"B","X"),[型番]))
は、末尾が「A」ではなかった場合の処理です。
さらにIIf関数を使って次は末尾が「B]であれば、「B」を「Z」に変換します。
そしてどちらにも当てはまらない場合は「型番」をそのまま表示します。
このように、IIf関数を入れ子構造にしていくことで複数条件での文字列の一括置換が可能です。
各関数の使い方は以下の記事にまとめていますので参照ください。
以上、複数の条件で文字を一括置換する方法をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。