- ベストアンサー
microsoft Accessの使い方
下記のようなクエリデータがあり、Iffにてデータごとに判定を入れたいです。 日付1 日付2 日付3 判定 ・日付2と3が空白の場合、判定=空白 ・日付2と3に両方日付が入っている場合、判定=A ・日付2は日付が入っているが、日付3が空白の場合 日付1が未来日の場合、判定B 日付1が過去日の場合、判定C 上記のような判定はできますでしょうか? どなたか教えてください。よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「判定」というフィールドはクエリで設定したものとします。 したがって、クエリのデザインビューで新しいフィールドに以下を貼り付けます。 なお、質問のいずれの場合にもあてはまらない場合は判定を"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"))))
その他の回答 (1)
- piroin654
- ベストアンサー率75% (692/917)
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を多重に入れ子で使用する場合は 条件漏れがないかよく検討して設定する必要があります。 以上です。分からないところが補足してください。
お礼
今回IIfの複数条件の記載の仕方が本当によくわかりました。今後にも活かせれそうです。本当にありがとうございました。