Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi OnNewRecord Vor Post auf bereits vorhandene Werte checken (https://www.delphipraxis.net/101186-onnewrecord-vor-post-auf-bereits-vorhandene-werte-checken.html)

AirJordan 9. Okt 2007 16:33

Datenbank: mySQL • Version: 5 • Zugriff über: MyDAC

OnNewRecord Vor Post auf bereits vorhandene Werte checken
 
Hallo und N´abend,

wie würdet ihr das lösen?

Bevor ein neuer Datensatz in einer Tabelle eingefügt wird, soll in einem anderen Feld überprüft werden, ob der Wert bereits in vorhandenen Datensätzen vorhanden ist. Es handelt sich um kein manuelles ID-Feld!

Ich wollte dies ganz simple über einen Locate-Befehl in der OnNewRecord Methode überprüfen, dies geht aber nicht, weil mit dem Locate wird der neue Datensatz schon per Post abgesetzt. :roll:

Es muss doch einen einfachen Weg geben, mit dem man Feldwerte auf ihr Vorkommen überprüfen kann.

Schon mal danke für eure Tipps. :thumb:

DeddyH 9. Okt 2007 18:28

Re: OnNewRecord Vor Post auf bereits vorhandene Werte checke
 
Soll das Feld eindeutig sein? Dann setz doch einfach einen Unique Index drauf.

peschai 9. Okt 2007 18:30

Re: OnNewRecord Vor Post auf bereits vorhandene Werte checke
 
Hallo
Eventuell hilft dir ein Hinweis auf
Delphi-Quellcode:
BeforePost
und
Delphi-Quellcode:
Abort

AirJordan 9. Okt 2007 20:36

Re: OnNewRecord Vor Post auf bereits vorhandene Werte checke
 
Zitat:

Zitat von DeddyH
Soll das Feld eindeutig sein? Dann setz doch einfach einen Unique Index drauf.

Nein, ist es leider nicht, weil in jeder Saison die Nummer wiederholt vorkommen können und nur dadurch
unterschieden werden können.

AirJordan 10. Okt 2007 09:00

Re: OnNewRecord Vor Post auf bereits vorhandene Werte checke
 
Zitat:

Zitat von peschai
Hallo
Eventuell hilft dir ein Hinweis auf
Delphi-Quellcode:
BeforePost

Hallo,

wenn ich aber in der BeforePost Methode ein Locate durchführe, wird der "neue" Datensatz per Post abgespeichert. Dann müsste ich, wenn denn die Nummer bereits vorhanden ist (also Locate True), den "neuen" Datensatz gleich wieder löschen und den Anwender darüber informieren. Das "Abort" nützt mir dann nichts mehr. Und das wollte ich vermeiden.

Ich habe mir heute Morgen unter der Dusche (bester Ideenplatz :lol: ) aber schon überlegt, das ich in der BeforePost Methode über ein Query nach dem Datensatz suchen lasse und wenn einer gefunden wurde, mit Abort die Eingabe eines neuen Datensatzes abbreche.

Danke für eure Hilfe! :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:28 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