- ベストアンサー
同一レコード内のデータを指定して表示する方法
- 同一のレコードの中から特定のデータを表示するクエリを作成したい場合、指定個人名と個人名(1)~(4)の関連付けが必要です。
- 現在のフィールドには指定個人名と個人名(1)~(4)があります。
- 指定個人名の数字1から4を個人名(1)~(4)までのデータに関連付けて、新しいフィールドに呼び出す方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
「一般的」がどういう処理なのかはわかりませんが、 IIF関数を重ねてやるのが一番早いでしょうね。 個人名: IIf([指定個人名]=1,[個人名1],IIf([指定個人名]=2,[個人名2],IIf([指定個人名]=3,[個人名3],IIf([指定個人名]=4,[個人名4],"Error")))) などですね。 フィールド名に「()括弧」などの記号は使わない方が良いと思いますよ。 式に入れたときに何が何だか分からなくなっちゃいますし、 思わぬ誤動作を招く可能性もありますから。
その他の回答 (2)
- ksd_hiro
- ベストアンサー率76% (29/38)
>現在、以下のようなフィールドです。 >「指定個人名,個人名(1),個人名(2),個人名(3),個人名(4)」 >「指定個人名」には半角数字の1から4までが任意で入ります。 >「個人名(1)~(4)」のうちどれかを、「指定個人名」の数字で指定するとします。 >「個人名(1)~(4)」のうち指定されたデータが、同一レコード内の新しいフィールドに表示されるようにしたいです。 クエリのフィールドに Choose([指定個人名],[個人名(1)],[個人名(2)],[個人名(3)],[個人名(4)]) を入力します。
お礼
ありがとうございました。機会があれば、このやり方を試したいと思います。
- Gaffgarion
- ベストアンサー率45% (45/99)
accessわかりません。caseを使います。 select 指定個人名, 個人名(1), 個人名(2), 個人名(3), 個人名(4), case 指定個人名 when 1 then 個人名(1) when 2 then 個人名(2) when 3 then 個人名(3) when 4 then 個人名(4) else 'error' end from table; ただ、accessにはcaseがないらしく、代わりにswitchやiifを使うようです。
お礼
ありがとうございました。希望した通りの結果になりました。助かりました。