• ベストアンサー

アクセスの更新クエリについて教えてください

Access2000を使用しています。 例えばあるテーブルの「性別」フィールドには 漢字で「男」、「女」、「不明」と入っております。 男なら「男の子」、女なら「女の子」、不明なら 「不明者」と更新したいのですが、更新クエリで 一発で更新できるのでしょうか? できる場合、条件と更新の値をどこにどういう風に 記述したらよいのでしょうか? 初心者ですがよろしくお願いいたします。

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

  • ベストアンサー
  • prettyfly
  • ベストアンサー率65% (15/23)
回答No.1

新規クエリ作成で、更新クエリを選択。 「性別フィールド」を選択し、レコードの更新部分に IIf([性別]="男","男の子",IIf([性別]="女","女の子","不明者")) と入れれば更新できると思います。 性別フィールドに男、女、不明以外のものが入っている可能性が あるならば、 IIf("性別"="男","男の子",IIf("性別"="女","女の子",IIf([性別]="不明","不明者","該当なし"))) とかやった方がいいかもしれませんね。

enako
質問者

お礼

すばやい回答ありがとうございます。 解決できました。 ところで、いつも思うのですが「if」と 「iif」ってどちらを使用するかいつも 迷いますが(私は「if」を使用しています) どちらのほうがよろしいのでしょうかね・? 何はともあれありがとうございました。

その他の回答 (1)

noname#4564
noname#4564
回答No.2

書籍などでもIif関数による方法が紹介されている場合が多いですが、お世辞にもわかりやすい(読みやすい)プログラムとは言えませんし、性能上の問題もありますので、更新クエリを3回実行した方が無難と思います。(性能検証はしてませんが) DB設計的には、「性別」は文字列ではなく、数値(一例ですが、「男」 = 1、「女」 = 2、「不明」 = 999 といった具合に)で持たせた方が正規形に適っていると思われます。

enako
質問者

お礼

ありがとうございます。 件数が多くなればなるほど更新って 怖いものですので、より信頼のおける 手段を選択したいと思います。

関連するQ&A