Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBnavigator abfrage ob feld eingetragen ist (https://www.delphipraxis.net/217237-dbnavigator-abfrage-ob-feld-eingetragen-ist.html)

Schuby 27. Mai 2025 08:22

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

haentschman 27. Mai 2025 08:27

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 https://docwiki.embarcadero.com/Libr...ery.BeforePost
Hier kannst du, das was du möchtest, auswerten und ggf. das Post canceln. :zwinker:

Uwe Raabe 27. Mai 2025 08:41

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.

Schuby 27. Mai 2025 08:53

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

Billa 27. Mai 2025 09:04

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"

Schuby 27. Mai 2025 09:07

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:
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;
mfg

Klaus01 27. Mai 2025 09:10

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:
ok := DBemail.DataField <> ''
Grüße
Klaus

Schuby 27. Mai 2025 09:17

AW: DBnavigator abfrage ob feld eingetragen ist
 
Hallo Klaus,
das datenfeld für email darf nicht leer sein.


mfg

Klaus01 27. Mai 2025 09:26

AW: DBnavigator abfrage ob feld eingetragen ist
 
ja, aber bei Dir ist es false wenn es nicht leer ist.

<> '' ist notEmpty

Schuby 27. Mai 2025 09:50

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:54 Uhr.
Seite 1 von 2  1 2      

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