![]() |
Datenbank: oracle • Version: 9.i • Zugriff über: odbc
DefaultExpression
Hallo, habe wieder ein Problem!
Habe eine Eingabemaske mit dbFeldern, welche mit TTable-Komponenten verknüpft sind. Nun soll verhindert werden, dass der User fälschlicherweise die ENTF-Taste drückt und ein numerisches Feld ohne Wert da steht. Funktioniert ganz gut mit CostumConstraint und ConstraintErrorMessage (Eigenschaften von Feldinspektor). => ergibt eine Fehlermeldung Eleganter wäre es jedoch, das Feld in diesem Fall mit Value = 0 zu belegen. Ich dachte, dass dies mit der Eigenschaft DefaultExpression möglich sein müsste, jedoch ignoriert Delphie jegliche Eingaben, sowohl in einfachen Hochkommas als aus =STANDARDWERT usw. Hat jemand eine Idee Woran dies liegt? IlseB |
Re: DefaultExpression
Hallo IlseB,
wenn du keine NULL-Werte in numerischen Datenbankfeldern haben möchtest, dann sind DEFAULT constraints auf DDL-Ebene sicher die erste Wahl. Ist das keine Option für dich, dann kannst du alternativ im Event OnBeforePost() deiner Table-Komponente entsprechenden Code einbauen:
Delphi-Quellcode:
Die Eigenschaft DefaultExpression der Komponente TField scheint mir dem Einsatz von ClientDataSets vorbehalten zu sein - egal, was die verunglückte deutsche Fassung des Delphi-Handbuches auch sagen möchte, aber das ist nur eine Ahnung, die mich beschleicht, wenn ich den deutschen Text in Gedanken wieder ins Original zurück übersetze.
procedure TDataForm.TableBeforePost(DataSet: TDataSet);
begin Exit; with DataSet do if FieldByName(YourFieldName).AsString = '' then FieldByName(YourFieldName).AsFloat := 0; end; Grüße vom marabu |
Re: DefaultExpression
Vielen Dank.
An diese Lösung habe ich auch schon gedacht! Ich hoffte jedoch auf eine 'einfachere' Lösung, da mein Problem 7 Tabellen mit ca. 1500 Datenfeldern betrifft und es recht mühsam ist diese alle einzutippen. IlseB |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz