#388 氏名を姓・名に分けて表示させるには? クエリ

テーブルに「氏名」というフィールドがあり、そこには半角スペース1文字で区切られた姓と名のフルネームが入力されているとします。それをスペースで区切って、姓・名それぞれを別の演算フィールドに表示させる方法です。

それには、次のようなクエリを作ります。
クエリのデザインビュー

SQLビューでは次のようになります。

SELECT 社員.氏名, Left$([氏名],InStr([氏名]," ")-1) AS 姓, Mid$([氏名],InStr([氏名]," ")+1) AS 名
FROM 社員;


InStr関数を使って氏名フィールドに含まれる半角スペースの位置を調べ、それより前を「姓」として取り出し、よれより後ろを「名」として取り出すのがポイントです。スペース自体を含めないようにするため、InStr関数の返り値をそれぞれ−1、+1している点に注意してください。

実行結果:
クエリのデータシートビューの実行結果
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved