Version 2004 (Geändert)
Hinweis zur Kompatibilität
Diese Funktion wird nur aus Kompatibilitätsgründen beibehalten, da sie auf der früheren Verwaltung von Ausführungszyklen beruht, die selbst schon seit Version 6 obsolet ist (siehe hierzudie Funktionen Before, During, etc. In den meisten Fällen empfiehlt es sich, die Funktion Form event zu verwenden und zu prüfen, dass sie das Ereignis On Data Change zurückgibt.
Modified (Datenfeldname) Boolean
Parameter | Typ | Beschreibung | |
Datenfeldname | Datenfeld | Datenfeld, das auf Änderung abgefragt werden | |
soll | |||
Funktionsergebnis | Boolean | Wahr, wenn dem Datenfeld ein neuer Wert | |
zugewiesen wurde, sonst Falsch |
Beschreibung
Die Funktion Modified gibt Wahr zurück, wenn Datenfeldname per Programmierung ein Wert zugewiesen wurde oder während der Dateneingabe bearbeitet wurde. Modified darf nur in einer Formularmethode bzw. in einer Unterroutine, die von einer Formularmethode aufgerufen wird, verwendet werden.
Beachten Sie, dass diese Funktion nur im gleichen Ausführungszyklus einen signifikanten Wert zurückgibt. Insbesondere für alle Formularereignisse, die zum früheren Ausführungszyklus During gehören, gibt Sie Falsch zurück.
Bei der Dateneingabe gilt ein Datenfeld als geändert, das der Benutzer bearbeitet - unabhängig davon, ob der ursprüngliche Wert geändert wird - und durch Wechseln zum nächsten Datensatz oder Anklicken einer Steuerung verlässt. Nur das Verlassen eines Datenfeldes ohne Bearbeitung setzt Modified nicht auf Wahr.
Beim Ausführen einer Methode gilt ein Datenfeld als geändert, wenn ein Wert zugewiesen wurde (geändert oder nicht).
Testen Sie in beiden Fällen mit dem Befehl Old, ob der Wert des Datenfeldes geändert wurde.
Hinweis: Sie können Modified zwar für jeden Datenfeldtyp verwenden. Beachten Sie jedoch in Kombination mit dem Befehl Old die für Old geltenden Einschränkungen. Weitere Informationen dazu finden Sie in der Beschreibung des Befehls Old.
Bei der Dateneingabe lassen sich Operationen normalerweise einfacher in Objektmethoden als über Modified in Formularmethoden anzeigen. Da einer Objektmethode bei jeder Datenfeldänderung ein Ereignis On Data Change übergeben wird, ist die Verwendung von Modified in Formularmethoden gleichwertig mit Objektmethoden.
Beispiele
1. Folgendes Beispiel testet, ob das Datenfeld [Orders]Quantity oder das Datenfeld [Orders]Price geändert wurde. Wenn ja, wird das Datenfeld [Orders]Total neu berechnet.
If ((Modified ([Orders]Quantity) | (Modified ([Orders]Price)) [Orders]Total :=[Orders]Quantity*[Orders]Price End if
Beachten Sie, dass derselbe Vorgang ausgeführt wird, wenn Sie die zweite Zeile als Unterroutine verwenden, die von einer Objektmethode für die Datenfelder [Orders]Quantity und [Orders]Price innerhalb des Formularereignisses On Data Change aufgerufen wird.
2. Wählen Sie einen Datensatz für die Tabelle [anyTable], rufen Sie dann mehrere Unterroutinen auf, die das Datenfeld [anyTable]Important field ändern, jedoch nicht den Datensatz sichern. Am Ende der Hauptmethode können Sie dann mit dem Befehl Modified prüfen, ob Sie den Datensatz sichern müssen:
` Hier wurde der Datensatz als aktueller Datensatz ausgewählt. ` Führen Sie dann Aktionen mit Unterroutinen aus MACH DIES MACH DAS MACH JENES ` ... ` Testen Sie nun das Datenfeld, um herauszufinden, ob der Datensatz gesichert ` werden muß If (Modified([anyTable]Important field)) SAVE RECORD([anyTable]) End if
Referenz