![]() |
Datenbank: ADO • Version: 4.0 • Zugriff über: query
DBnavigator abfrage ob feld eingetragen ist
Guten morgen, ich habe ein Problem mit dem DBNavigator, wenn ich auf nbPost
drücke soll geprüft werden ob das datafield email ein eintrag hat. Ohne den Eintag einer email soll nicht gespeichert werden Kann mir jmd helfen Danke für Hilfe |
AW: DBnavigator abfrage ob feld eingetragen ist
Hallöle...8-)
Der Datenbanknavigator schiebt das Post nur an. Du mußt das über die Query "regeln". Dein Freund ist ![]() Hier kannst du, das was du möchtest, auswerten und ggf. das Post canceln. :zwinker: |
AW: DBnavigator abfrage ob feld eingetragen ist
Das BeforePost der Query is schon deshalb der bessere Ort, da dies auch wirkt, wenn der Navigator nicht der Auslöser für das Post ist.
Der Vollständigkeit halber möchte ich aber erwähnen, dass der Navigator einen BeforeAction Event anbietet, in dem man auch solche Überprüfungen unterbringen könnte. |
AW: DBnavigator abfrage ob feld eingetragen ist
Ich habe es so versucht, aber es haut nicht hin, jetzt wird nichts mehr gespeichert.
Delphi-Quellcode:
procedure TForm1.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn); var ok : boolean; begin ok:= false; if DBemail.DataField <> '' then ok:= false; case Button of nbPost : if ok = false then abort; end; end; mfg |
AW: DBnavigator abfrage ob feld eingetragen ist
ok ist ja immer "false", d.h. es wird immer abgebrochen!
-> if DBemail.DataField <> '' then ok:= true; außerdem statt "if ok = false" lieber "if not Ok" |
AW: DBnavigator abfrage ob feld eingetragen ist
so gehts auch nicht. Kein Eintrag möglich.
if DBemail.DataField macht mir probleme, bei der abfrage kommt immer false raus.
Delphi-Quellcode:
mfg
procedure TForm1.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn); var ok : boolean; begin ok:= false; if DBemail.DataField <> '' then begin ok:= false end else begin ok:= true; end; case Button of nbPost : if (ok = false) then abort; end; end; |
AW: DBnavigator abfrage ob feld eingetragen ist
sollte das so sein wenn das eMailfeld gefüllt ist dann ist es false?
sollte es nicht eher so sein:
Delphi-Quellcode:
Grüße
ok := DBemail.DataField <> ''
Klaus |
AW: DBnavigator abfrage ob feld eingetragen ist
Hallo Klaus,
das datenfeld für email darf nicht leer sein. mfg |
AW: DBnavigator abfrage ob feld eingetragen ist
ja, aber bei Dir ist es false wenn es nicht leer ist.
<> '' ist notEmpty |
AW: DBnavigator abfrage ob feld eingetragen ist
Ja das habe ich jetzt auch gesehen, ich denke mein Problem ist
wie ich ein Datenfeld überpürüfe ob da was drin steht. if DBemail.DataField <> '' Diese abfrage haut so nicht hin. mfg |
AW: DBnavigator abfrage ob feld eingetragen ist
Jetzt haut es hin, die abfrage war falsch
if dbemail.Text <> '' then mfg |
AW: DBnavigator abfrage ob feld eingetragen ist
Zitat:
Delphi-Quellcode:
...so jedenfalls nicht. DataField ist der Name der Komponente/Field.
if DBemail.DataField <> ''
![]() Wenn DBemail :gruebel: eine Query/Tabelle ist:
Delphi-Quellcode:
...
ok := DBemail.FieldByName('EMailFeld').AsString <> ''
Nachtrag: .Text sieht nach einer visuellen Komponente aus. DBEdit etc. Das ist aber keine gute Idee, die Daten der visuellen Komponenten für Prüfungen zu missbrauchen. Immer über die Datenmenge ist besser. :warn: :wink: |
AW: DBnavigator abfrage ob feld eingetragen ist
Zitat:
|
AW: DBnavigator abfrage ob feld eingetragen ist
Stimmt...:oops:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:23 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-2025 by Thomas Breitkreuz