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

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

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

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

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


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

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

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします


Copyright © T'sWare All rights reserved