28. Juli 2009 22:20
Es geht tasächlich über einen Einzeiler:
Wenn nötig, vorher Filter setzen, sonst geht die folgende Zeile über alle Datensätze der Tabelle
- Code:
DeinZielrecord.MODIFYALL(DeinBoolFeld, TRUE);
Dieser kann auch z.B. von einer Codeunit aufgerufen werden. In einen Report würde ich ihn nicht unbedingt packen, ist bei so einer Minimalanforderung genau genommen MEHR Aufwand
Wenn ich mich nicht irre, ist ein MODIFYALL auch viel performanter, als wenn du die Datensätze in einer Schleife durchlaufen und dort ändern würdest.
Aber
Achtung: Falls du beim Ändern des Feldes den OnValidate-Trigger aufrufen möchtest, musst du statt MODIFYALL wirklich einen Schleifendurchlauf programmieren
- Code:
IF DeinRec.FIND('-') THEN BEGIN
REPEAT
DeinRec.VALIDATE(DeinBoolFeld, TRUE);
DeinRec.MODIFY; // evtl. MODIFY(TRUE)
UNTIL DeinRec.NEXT = 0;
END;