0

この質問の正確な方法がわからないので、ご容赦ください。6つのフィールドがあり、それらが空かどうかを確認する必要があります。以下のコードでうまくいくと思いましたが、そうではありません。私はコードとそれがどのように正しく機能するかを理解していないと思いますし、他のフォーラム/投稿/質問で助けを見つけるのに苦労しています。私はこれを解決する誰かを探していません(ただ答えを得るのではなく学びたいです)が、誰かが私がこの種のifステートメントをどこで読むことができるか知っているなら私はそれをいただければ幸いです。これからリストを作成し、リストが空かどうかを確認するための情報を見つけましたが、この状況でそれがどのように機能するかを理解するのに問題があります。繰り返しますが、私が正しく質問したのか、十分な情報を提供したのかわからないので、さらに情報が必要かどうか尋ねてください。

if FormSet.IsEmpty(CurrentForm, "ADD_COMP1_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP2_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP3_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP4_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP5_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP6_ADDRESS"):
    Rule.Violated = True
   else:
    Rule.Violated = False

要約すると、6つのフィールドをチェックする必要があります。それらとそれらのフィールドが空の場合、違反するルールが必要です。これらのフィールドのいずれかが入力されている場合、ルールに違反してはなりません。

4

1 に答える 1

0

だから私は本当にこのようなものに慣れていないのだと思います。私がする必要があるのは、「else:」のインデントを「if」と同じインデントレベルに修正することだけでした。

if FormSet.IsEmpty(CurrentForm, "ADD_COMP1_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP2_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP3_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP4_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP5_ADDRESS") and \
   FormSet.IsEmpty(CurrentForm, "ADD_COMP6_ADDRESS"):
    Rule.Violated = True
else:
    Rule.Violated = False
于 2012-09-25T21:55:22.193 に答える