Hallo StoRmtec,
der Code in deinem ersten Beitrag hatte zwei vordergründige Mängel, die ich dir in den Beiträgen #2 und #4 bereits behoben habe. Grundsätzlich gehört dein Code nicht in einen event handler. Besser wären zwei Funktionen, exportiert aus einem Datenmodul. Die beiden
SQL-Statements können jeweils einer permanenten
Query zugewisen werden und müssen nicht jedes mal wieder übersetzt werden. Die Signatur der Funktionen sollte bereits interne Datentypen verwenden, damit die Funktionen frei von Konvertierungen bleiben können. Der Zugriff auf einen field value bei leerem result set bleibt fehlerfrei, wenn du meinen Hinweis aus Beitrag #4 beherzigst - NULL values werden bei Zugriff über die Konvertierungsmethoden eines Datenfeldes automatisch nach 0 bei numerischen Typen, empty string oder FALSE konvertiert.
Außerhalb dieser Datenbankfunktionalität gilt noch folgendes: Entweder du nimmst Benutzereingaben typsicher entgegen, indem du spezielle Controls wie TDateTimePicker verwendest, die notwendige Prüfungen selbst durchführen, oder du nimmst normale Edit-Felder und schreibst den Prüfcode selbst. Zum Zwecke der Anzeige werden numerische Werte eines Datenbankfeldes in Text umgewandelt, das ist völlig normal. Nicht normal ist es, diesen Text wieder in einen numerischen Wert zu konvertieren um ihn in einer Berechnung zu verwenden.
For what it's worth...
marabu