RE: Wenn die Anweisung für richtig und falsch ausgewertet wirdHallo,
Ich habe mich gefragt, warum if-Anweisungen beide Teile der Anweisung ausgeführt werden, wenn ich das Skript ausführen? Es wertet die Aussage irgendwie als wahr und falsch aus.
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"));
);
);Bei true sollte die folgende Zeile ausgeführt werden:
dt:newInstructionsColumn = colInstructions[k]
Bei false sollte die folgende Zeile ausgeführt werden:
print("No")Jede Hilfe wäre dankbar.
RE: Wenn die Anweisung für richtig und falsch ausgewertet wirdDie Zeile, die Probleme verursachen könnte, ist diese:
Current Data Table( dt );
Wenn eine Ihrer Variablen auf andere Tabellenspalten verweist (z. B. die DX-Tabelle), bin ich mir nicht sicher, wie die aktuelle Datentabelle tatsächlich sein wird. Es ist sicherer, alle Spalten mit der Tabelle zu qualifizieren, in der sie sich befinden. Wo zeigt zum Beispiel colManuallyEnd?
colManuallyEnd[k]
Ich vermute, dass es eine Spalte in der DX-Tabelle ist. Vielleicht sicherer zu sagen
dx:colManuallyEnd[k]
Wenn es tatsächlich eine Spalte gibt, die colManuallyEnd heißt.
Andernfalls fügen Sie eine Reihe von Druckanweisungen in Ihre Schleife ein, wie Jim vorgeschlagen hat.
RE: Wenn die Anweisung für richtig und falsch ausgewertet wirdVerwenden Sie diesen Code, um herauszufinden, was los ist
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() )
)
);
);