Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TEdit-Feld MUSS einen Wert enthalten!! (https://www.delphipraxis.net/840-tedit-feld-muss-einen-wert-enthalten.html)

m-werk 14. Sep 2002 18:57


TEdit-Feld MUSS einen Wert enthalten!!
 
Hi Leute, ich habe einige Edit-Felder in meinem Programm und bei einem möchte ich es so machen, dass der User aufgefordert wird, in dieses etwas zu schreiben.

Es ist ein TEdit-Feld, was auf eine Datenbank zugreift. In dieses Feld wird das Geburtstatum geschrieben.
Wenn der User nun den Datensatz speichern möchte, dann soll überprüft werden, ob das TEdit3-Feld einen Wert enthällt oder nicht. Wenn kein Wert drinn steht, dann soll eine MessageBox erscheinen mit der Aufforderung, dass der User einen Geburtstag eingeben MUSS.

Wie kann ich das machen?

Chewie 14. Sep 2002 19:08

Wenn Edit1 keinen Text enthält, ist Edit1.Text ein Leerstring.
Also sieht das so aus:

Code:
if Edit.Text = '' then MessageDlg('Du hast keinen Wert eingegeben', mtError, mbOK, 0)
else
begin
  //In Datenbank reinschreiben
end;

Luckie 14. Sep 2002 19:21

Und wenn ich das Datum nicht weiß, werde ich gezwungen was falsches rein zu schreiben? :roll:

m-werk 14. Sep 2002 19:24

Hi, danke für den code. Der funktioniert prima.

Es muß ein Geburtsdatum rein. Es handelt sich hierbei um eine Kundendatenbank. Da weiss man das Geburtsdatum. Es lässt sich nicht anders lösen, da sonst der Geburtstagsfilter nicht funktioniert!

Luckie 14. Sep 2002 19:38

Stürzt der Filter ab, wenn er über ein leeres Feld gehen muß? dann würde ich den noch mal überarbeiten.

m-werk 15. Sep 2002 18:33

Hi, nein der Filter stürtz mir nicht ab.

Es ist so. Ich habe da einen Filter, der mir alle Personen anzeigt, die von Heute weg bis in einer Woche, Geburtstag haben. Wenn jetzt aber im Geburtstagsfeld kein Wert steht, dann kommt, wenn ich mir die Geburtstagskinder ansehen will, immer die Meldung: '2002' ist kein gültiges Datum.

Und angezeigt bekomme ich dabei auch keine Geburtstagsliste.

Darum wird das Feld benötigt.

Luckie 15. Sep 2002 18:48

Wie wäre es mit einer Abfrage
Code:
if Edit.Text = '' then ...
Oder auch einem try-except-Block.

m-werk 15. Sep 2002 18:55

Hi, ich habe ja einen code zusammengeschnipselt:

Code:
procedure TKundendaten.SpeichernClick(Sender: TObject);                        
begin
 if DBEdit38.Text = '' then
 MessageDlg('Sie haben das Geburtsdatum nicht eingetragen. Bitte tragen Sie jetzt ein Geburtsdatum ein!', mtError,[mbOK], 0)
 else
  try
  DM.ADOSHaupt.Post; //DM.ADOSHaupt.Refresh;
  except
    on exception do
      MessageDlg('Keinen Wert zum speichern gefunden oder der Datensatz wurde bereits gespeichert!',
      mtWarning,[mbOk],0);
    end
end;
So sieht der Code zur Zeit aus.

Hast du da einen besseren vorschlag?

Luckie 15. Sep 2002 19:07

Das ist aber nicht der Filter oder?

Wenn jemand kein Geburtsdatum einträgt dann, dann trag doch 01.01.1899 ein und beim Anzeigen der Datensätze filters du das mit einer if-Abfrage wieder raus, damit es nicht dargestellt wird.

m-werk 15. Sep 2002 19:14

Klingt gut, nur wie mache ich das genau?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr.
Seite 1 von 3  1 23      

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