Hallo needatip,
Zitat von
needatip:
Ich habe im OnChange-Ereignis nur Table1.Post drinstehen. Wenn ich dann woanders im Formular klicke bekomme ich die Fehlermeldung, dass die Datenmenge weder im Editier noch Einfügemodus ist.
das ist verständlich. Durch den Wechsel des Satzzeigers verliert die Table ihren Edit-Status. Anschließend wird das Ereignis OnChange gefeuert, weil ja der Wert aus einem anderen Datensatz angenommen wird. Das erneute Post() wirft dann eine
Exception.
Ich habe jetzt länger darüber nachgedacht, was deine eigentliche Anforderung sein könnte und bin immer noch nicht sicher, ob ich es weiß. Möchtest du vielleicht, dass eine Änderung am Datensatz grundsätzlich und ohne Zutun des Benutzers gespeichert wird? Das erreichst du vielleicht am ehesten im BeforeCancel Ereignis des DataSets - allerdings zu dem Preis, dass der Benutzer keine Änderungen mehr verhindern kann.
Ein Wort zur Eigenschaft AutoEdit - jede datensensitive Komponente schaltet ihren DataSet in den Edit-Modus, wenn der Benutzer den Inhalt verändert. AutoEdit sorgt dafür, dass der Edit-Modus eingeschaltet wird, noch bevor eine Änderung gemacht wird. Ist das wirklich, was du willst oder war da Verzweiflung im Spiel?
marabu