こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

microsoft Accessの使い方

下記のようなクエリデータがあり、Iffにてデータごとに判定を入れたいです。

日付1 日付2 日付3 判定

・日付2と3が空白の場合、判定=空白
・日付2と3に両方日付が入っている場合、判定=A
・日付2は日付が入っているが、日付3が空白の場合
 日付1が未来日の場合、判定B
 日付1が過去日の場合、判定C

上記のような判定はできますでしょうか?
どなたか教えてください。よろしくお願いいたします。
 

投稿日時 - 2019-06-15 18:41:09

QNo.9626100

困ってます

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

「判定」というフィールドはクエリで設定したものとします。
したがって、クエリのデザインビューで新しいフィールドに以下を貼り付けます。
なお、質問のいずれの場合にもあてはまらない場合は判定を"D"としています・
たとえば、

・日付2は日付が入っているが、日付3が空白の場合
 日付1が今日の場合

などです。

判定:IIf(IsNull([日付2]) AND IsNull([日付3]),"",IIf(not IsNull([日付2]) AND not IsNull([日付3]),"A",IIf(not IsNull([日付2]) AND IsNull([日付3]) AND Date() < [日付1],"B",IIf(not IsNull([日付2]) AND IsNull([日付3]) AND Date() > [日付1],"C","D"))))

投稿日時 - 2019-06-15 21:46:27

お礼

今回IIfの複数条件の記載の仕方が本当によくわかりました。今後にも活かせれそうです。本当にありがとうございました。

投稿日時 - 2019-06-18 10:32:29

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

No1です。質問の内容についてですが、各条件に日付1について
記述がない場合があるので、その点について回答した内容に
即して結果を述べておきます。

質問の条件は、

・日付2と3が空白の場合、判定=空白
・日付2と3に両方日付が入っている場合、判定=A
・日付2は日付が入っているが、日付3が空白の場合
 日付1が未来日の場合、判定B
 日付1が過去日の場合、判定C


なので、これをそのまま「判定」というフィールドを
設定すると、No1の回答のようになりますが、
その結果は、


・日付2と3が空白の場合、判定=空白
 「ただし、日付1について条件がないので日付1にデータが
  入っていてもいなくても判定は空白」

・日付2と3に両方日付が入っている場合、判定=A
 「ただし、日付1について条件がないので日付1にデータが
  入っていてもいなくても判定はA」

・日付2は日付が入っているが、日付3が空白の場合
 日付1が未来日の場合、判定B
 「ただし、日付1にデータがなければ判定はD」

 日付1が過去日の場合、判定C
 「ただし、日付1にデータがなければ判定はD」

・日付2は日付が入っているが、日付3が空白の場合
 日付1が今日の場合は判定はD

と、なります。

IIfは入れ子で条件を設定できます。VBAではSelect Case文の
ようなものですが、IIfを多重に入れ子で使用する場合は
条件漏れがないかよく検討して設定する必要があります。

以上です。分からないところが補足してください。

投稿日時 - 2019-06-16 12:04:23

あなたにオススメの質問