• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス;同じレコード内のデータを数字で指定して)

同一レコード内のデータを指定して表示する方法

このQ&Aのポイント
  • 同一のレコードの中から特定のデータを表示するクエリを作成したい場合、指定個人名と個人名(1)~(4)の関連付けが必要です。
  • 現在のフィールドには指定個人名と個人名(1)~(4)があります。
  • 指定個人名の数字1から4を個人名(1)~(4)までのデータに関連付けて、新しいフィールドに呼び出す方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

「一般的」がどういう処理なのかはわかりませんが、 IIF関数を重ねてやるのが一番早いでしょうね。  個人名: IIf([指定個人名]=1,[個人名1],IIf([指定個人名]=2,[個人名2],IIf([指定個人名]=3,[個人名3],IIf([指定個人名]=4,[個人名4],"Error")))) などですね。 フィールド名に「()括弧」などの記号は使わない方が良いと思いますよ。 式に入れたときに何が何だか分からなくなっちゃいますし、 思わぬ誤動作を招く可能性もありますから。

deeeeemo
質問者

お礼

ありがとうございました。希望した通りの結果になりました。助かりました。

その他の回答 (2)

  • ksd_hiro
  • ベストアンサー率76% (29/38)
回答No.3

>現在、以下のようなフィールドです。 >「指定個人名,個人名(1),個人名(2),個人名(3),個人名(4)」 >「指定個人名」には半角数字の1から4までが任意で入ります。 >「個人名(1)~(4)」のうちどれかを、「指定個人名」の数字で指定するとします。 >「個人名(1)~(4)」のうち指定されたデータが、同一レコード内の新しいフィールドに表示されるようにしたいです。 クエリのフィールドに Choose([指定個人名],[個人名(1)],[個人名(2)],[個人名(3)],[個人名(4)]) を入力します。

deeeeemo
質問者

お礼

ありがとうございました。機会があれば、このやり方を試したいと思います。

回答No.1

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を使うようです。