質問: Access(Microsoft365 ver2018)を利用して、 下記、サイトにあるように スペースを基準に一部の文字を取り出す作業をしています。 ここで言う「氏名」のフィールドに 姓だけ入力されているデータがある場合、 スペースも入力されていないため、 この方法で処理するとエラーになってしまい困っています。 元のデータの出力条件を変更することはできないため、 スペースを追加することはできません。 「氏名」でスペースを含まない場合、 最後にスペースを追加するという作業を1つ挟んで、 その後にスペースで一括分割するしかないでしょうか。 知恵をお貸しいただけますと幸いです。 よろしくお願いいたします。
回答: スペースがあるかどうかを判定し、処理を分岐してはどうですか? 氏:IIf(Instr([氏名]," ")>0 , Left([氏名] , Instr([氏名]," ") - 1) , [氏名]) 名:IIf(Instr([氏名]," ")>0 , Mid([氏名] , Instr([氏名]," ") + 1) , Null) ※氏名に何も入っていないことは想定していないので、 それがある場合はIsNull()の判定がその前に来ます。