Hallo Klaus,
eigentlich ist es nicht so kompliziert… eigentlich… 
Der „Trick“ ist es, sich den alten Inhalt des Feldes Feld1 zu merken, um festzustellen, ob sich der Wert geändert hat.
Erstelle unterhalb des Feld1 ein Feld1AlterWert, Textfeld, berechnet, versteckt. Wertformel:
@If(
@IsDocBeingLoaded;
@Return(Feld1);
Feld1AlterWert = Feld1;
@Return(Feld1);
„Wert weicht ab“
);
REM {abhängige Felder aktualisieren};
FIELD Feld2 := @If(
Feld1 = „Äpfel“;
„Österreich“;
Feld1 = " Birnen";
„Deutschland“;
Feld2
);
[…]
Feld1
Wenn das Dokument neu geladen wird oder der Wert sich nicht geändert hat, passiert nichts.
Wenn sich der Inhalt von Feld1 geändert hat, werden die anderen Felder neu gesetzt.
Der Wert von Feld1AlterWert ist nach der Berechnung immer der gleiche wie der von Feld1.
Feld1 sollte ein Auswahlfeld (Dialogliste, Radiobutton, Checklist) sein und die Eigenschaft „Maske nach Feldänderung aktualisieren“ (heißt so ähnlich) muss aktiviert sein.
Die Formel lässt sich natürlich noch optimieren. Man sollte möglichst wenige feste Zeichenketten in den Quellcode schreiben (besser in anderen Dokumenten speichern).
Und es gibt auch andere Möglichkeiten, diese Funktionalität zu realisieren. Aber die hier beschriebene ist eine der einfacheren.
Wenn Sie weitere Fragen haben, können Sie gerne wieder auf mich zukommen (am besten direkt; Kontaktdaten s.u.)
Oder Sie können uns auch engagieren. 
Mit freundlichen Grüßen
Thomas Bahn
–
Thomas Bahn
Diplom-Mathematiker
Geschäftsführer
Tel. +49 4307 900 -401
Fax +49 4307 900 -409
Mobil +49 173 9357916
[email protected]
http://www.assono.de
http://www.assono.de/blog
assono GmbH
Lise-Meitner-Str. 1-7
24223 Schwentinental