AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DefaultExpression

Ein Thema von IlseB · begonnen am 18. Aug 2005 · letzter Beitrag vom 19. Aug 2005
Antwort Antwort
IlseB

Registriert seit: 24. Sep 2003
15 Beiträge
 
Delphi 5 Professional
 
#1

DefaultExpression

  Alt 18. Aug 2005, 12:01
Datenbank: oracle • Version: 9.i • Zugriff über: odbc
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: DefaultExpression

  Alt 18. Aug 2005, 13:45
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:
procedure TDataForm.TableBeforePost(DataSet: TDataSet);
begin
  Exit;
  with DataSet do
  if FieldByName(YourFieldName).AsString = 'then
    FieldByName(YourFieldName).AsFloat := 0;
end;
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.

Grüße vom marabu
  Mit Zitat antworten Zitat
IlseB

Registriert seit: 24. Sep 2003
15 Beiträge
 
Delphi 5 Professional
 
#3

Re: DefaultExpression

  Alt 19. Aug 2005, 08:02
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz