4 返信 最新の回答 日時: Feb 25, 2010 6:23 PM ユーザー:TailCapeT

    氏名の入力について

    wack

      タイトル

      氏名の入力について

      フォーラムに投稿

      こんにちは、どなたか教えていただけますでしょうか?

       

      氏名を入力してもらうひとつのフィールドで、ユーザーに姓と名を入れてもらうわけですが、姓と名の間にスペースを入れてもらえるように注意を促したいのです。

      つまり、スペースを入れずにレコードを確定した場合に警告メッセージが 出るようにしたいのです。

       

      また、その氏名のフィールドをスペースの前後で姓のフィールドと名のフィールドに分配するような計算フィールドも作りたいのです。 

       

      また、更に、これまでのスペースがないレコードに、ひとつずつスペースを入れていくのは非常に骨が折れるのですが、なにかいい方法はありますでしょうか?

       

       

      よろしくお願いします 

        • 1. Re: 氏名の入力について
          TailCapeT
            

          こんにちは

           

          もう運用中であろうと思いますので、難しいかもしれませんが、

          姓と名それぞれのフィールドを作り、それを結合する表示用の計算フィールドを作る方が運用が楽です。

          ルールを作り、「守ってね」というのは、 なかなか難しいかと思います。

           

          現行の姓名が一緒になったフィールドの方ですが、スーペースの有無で判断し、スペースの無いレコードを抽出してすると第一段階楽です。

          PatternCount関数を使ったフラグフィールドを作る手法があります。

           自動でスペースを入れる手段ですが、姓の文字数が一定でないため自動では難しいかと思います。

          一つの案ですが、その名前の苗字の文字数を決めるボタン(1文字、2文字、3文字)を作り、それに応じてスペースを入れるようにすると、

          若干作業が楽になるかと思います。

           

           

          • 2. Re: 氏名の入力について
            user6776
              

            氏名をスペースで分割する計算式は考えてみました。

            全角、半角どちらのスペースでもOKです。

             

            名字 = GetValue ( Substitute ( Trim ( 氏名 ) ; [" " ; "¶"] ; [" " ; "¶"] ) ; 1 )

            名前 = GetValue ( Substitute ( Trim ( 氏名 ) ; [" " ; "¶"] ; [" " ; "¶"] ) ; 2 ) 

             

             

            名字と名前の区切りをスペース以外も対応したい場合はSubstituteの条件を増やして下さい。

            GetValue ( Substitute ( Trim ( 氏名 ) ; [" " ; "¶"] ; [" " ; "¶"] ; ["☆" ; "¶"]) ; 1 )とすれば

            『つのだ☆ひろ』『漫☆画太郎』でも対応できます。 

            • 3. Re: 氏名の入力について
              d.o
                

              こんにちは

               

              oztatさんも書かれていますが

              氏と名のフィールドを分けて表示用の計算式を設定した計算フィールドか何かで表示させるほうが楽だと思います。

               

              私の職場でも以前は、スペースが半角だったり全角だったり、半角を2つだったり...いろいろなバリエーションが生じていました。

              いまは氏と名をわけて入れています。 

               

              あと、今までのデータについてですが...

              これまでのスペースがないレコードに、ひとつずつスペースを入れていくのは非常に骨が折れるのですが、なにかいい方法はありますでしょうか?

              結構難しいですよね。

              私だったら...

              名字として2文字の場合が最も多いでしょうから、

              1.現在氏名が入力されているフィールドのはじめの2文字を氏のフィールドへ(全置換の計算式で)

              2.現在氏名が入力されているフィールドの3文字目以降を名のフィールドへ(全置換の計算式で)

              3.氏+" "+名の計算フィールドを作り、そこへ表示される氏名を見ながら確認

              4.名字が1文字や3文字の人はおかしな表示になっているので手作業で修正

               

              って感じでしょうか?

              データが多いと大変ですよね。他の方のアイデアも伺いたいです。 

              • 4. Re: 氏名の入力について
                TailCapeT
                  

                思いつきの投稿です。

                http://www.myj7000.jp-biz.net/

                によると、上位7000の苗字で人工の60%をカバーしているそうです。

                この上位7000件の苗字をマスタにしてマッチングを行い判定させ、

                該当しなかったものを手作業で分離するのも手段だと思います。

                 

                「原」さんと「原口」さんを分けるために、マスタの文字数が多い順にマッチングさせるのがポイントではないかなと思います。