Entwickler-Ecke

Datenbanken - kurz vor'm Post felder verändern


Nightfly - Di 08.04.03 16:20
Titel: kurz vor'm Post felder verändern
Hi

Ich hab 'ne Paradox Datenbank. Beim Erzeugen des Formulares wird die db in einem Grid angezeigt, und es wird ein neuer Datensatz ertellt. (u.a. mit vorgegebenem Datum)

Wenn der Nutzer aber nun nicht's eingibt, soll der Datensatz nicht gespeicher werden.

Also war meine Idee: Wenn der Nutzer auf speichern drückt, dann hat er ja wohl was geändert. Also hab ich in beforePost dem Feld LfDNr dann seine (wie der name schon sagt) Laufende Nummer gegeben. Dann wollte ich halt beim verlassen des Formulares Prüfen: hat der aktuelle Datensatz eine laufende nummer? wenn nein -> weg damit.

So, jetzt das Problem: Fehlermeldung: Feld LfdNr muß einen wert haben :( Den sollte es eigentlich doch before Post auch bekommen, aba das juckt den compiler nich :(

Lösung? Oder andere Vorschläge? Wie gesagt, es wird ein neuer Datensatzt angelegt, aber bloß wenn der Nutzer zusätzliche angaben zu den automatisch beim anlegen generierten gemacht hat soll auch gespeichert werden.


Luncustaf - Di 08.04.03 16:34

überprüfe doch schon vorm sepcihern ob der benutzer in die einzelnen felder etwas eingegeben hat - wenn nicht dann weise ihn darauf hin das er etwas eingeben soll.


gr€€tz


Nightfly - Mi 09.04.03 08:36

eben das will ich ja. Und ich dachte das eschieht halt im ereignis "before Post"

wo könnte ich das denn noch machen? vielleicht in 'ner Fehlerbehandlung? Da weiß ich aber nich wie das geht :(


LCS - Mi 09.04.03 08:50

Hi
was ist denn das Feld LfdNr für ein Datentyp, bzw. was hat es sonst noch so für Eigenschaften. Ich vermute mal, das du irgendwann mal festgelegt hast, dass dieses Feld einen Wert haben muss. Dadurch dass du das Feld im BeforePost direkt einträgst, wird die Änderung nicht erkannt.
Du kannst mal versuchen in deinem BeforePost-Event noch folgendes Statement einzufügen:

Quelltext
1:
2:
3:
4:
5:
...
table1.FieldByName('LfdNr').Required := False;
oder
table1.Fields[Feldnr].Required := False;
...


Gruss Lothar


Nightfly - Mi 09.04.03 11:31

geht auch nich :(

Hab aber die Lösung: hab einfach beim erzeugen eines neuen Datensatzes LfdNr auf 0 gesetzt und dann bei beforePost geändert.