RE:文が真と偽の両方を評価する場合こんにちは、
スクリプトを実行すると、ステートメントの両方の部分が実行されるのはなぜでしょうか。それはどういうわけか文を真と偽の両方に評価します。
For (k = 1, k <= N Rows(dx), k++,
Current Data Table (dt);
q = k-1;
For Each Row(
If(dt:colAutomatically <= colManuallyEnd[k] & dt:colAutomatically >= colManuallyStart[k], dt:newInstructionsColumn = colInstructions[k], print("No"));
);
);trueの場合、以下の行を実行する必要があります。
dt:newInstructionsColumn = colInstructions[k]
falseの場合、次の行を実行します。
print("No")任意の助けがいただければ幸いです。
RE:文が真と偽の両方を評価する場合問題を引き起こしている可能性のある行はこれです。
Current Data Table( dt );
変数のいずれかが他のテーブル列を参照している場合(dxテーブルなど)、現在のデータテーブルが実際にどのようになるのかわかりません。 すべての列をそれらが入っている表で修飾する方が安全です。 例えばcolManuallyEndはどこを指していますか?
colManuallyEnd[k]
これはdxテーブルの列だと思います。 たぶん言うより安全
dx:colManuallyEnd[k]
確かにcolManuallyEndと呼ばれる列があります。
そうでなければ、Jimが示唆したようにたくさんのprint文をループの中に入れてください。
RE:文が真と偽の両方を評価する場合何が起こっているのかを調べるためにこのコードを使ってみてください。
For( k = 1, k <= N Rows( dx ), k++,
Current Data Table( dt );
q = k - 1;
For Each Row(
If( dt:colAutomatically <= colManuallyEnd[k] & dt:colAutomatically >= colManuallyStart[k],
dt:newInstructionsColumn = colInstructions[k];
Print( "\!nYes ", Row(), " ", dt:newInstructionsColumn[Row()] );
,
Print( "\!nNo ", Row() )
)
);
);