Vorbelegtes Textfeld aus Formular speichern

Ich habe in Base ein Formular, bei dem ich ein Textfeld über ein Makro mit einem Text (der meist verwendet wird) vorbelege. Dieser Text wird aber nicht in der Tabelle gespeichert, weder über ein Schaltfeld mit der Aktion “Speichern” noch über ein Makro mit .flush. Wenn ich in das Textfeld manuell über die Tastatur Text eingebe, wird er problemlos in der Tabelle gespeichert. Was mache ich falsch?

Das wird an der Art des Makros liegen. Wenn Du lediglich zu einem Feld die Eigenschaft “Text” bearbeitet, dann sieht das zwar schön aus, hat aber nichts mit den Daten zu tun. Das ist sozusagen die Oberfläche, die Du siehst. Wenn Du die Eigenschaft “DefaultText” bearbeitest, dann ist der der Standradvorschlagetext, der auch an das Formular weiter gegeben wird, wenn Du denn irgendwelche anderen Daten in dem Formular änderst und das Formular abspeicherst.
Wenn Du nur Felder mit DefaultText hast kannst Du das nicht abspeichern. Dann hilft noch das boundField oder das direkte setString.

Also: Code hier posten, dann können wir dazu mehr sagen.

Hallo,

mit
oField = oForm.GetByName(“txtBemerkung”)
oField.BoundField.String = “xyz”
erhalte ich:
Lesefehler.
Diese Eigenschaft ist schreibgeschützt
Mit
oField.setString(“xyz”)
steht dann zwar etwas im Formular, das kommt beim Speichern aber nicht in der Tabelle an.
Irgend etwas muss noch fehlen.

mit freundlichen Grüßen

Dirk

Hallo,

ich habe es jetzt so gelöst:
oField = oForm.GetByName(“txtBemerkung”)
if Hour(Now()) < 9 then
oField.BoundField.UpdateString(“abc”)
else
oField.BoundField.UpdateString(“def”)
end if

ich danke für den Denkanstoß

mit freundlichen Grüßen

Dirk