![]() |
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: |
Re: OnNewRecord Vor Post auf bereits vorhandene Werte checke
Soll das Feld eindeutig sein? Dann setz doch einfach einen Unique Index drauf.
|
Re: OnNewRecord Vor Post auf bereits vorhandene Werte checke
Hallo
Eventuell hilft dir ein Hinweis auf
Delphi-Quellcode:
und
BeforePost
Delphi-Quellcode:
Abort
|
Re: OnNewRecord Vor Post auf bereits vorhandene Werte checke
Zitat:
unterschieden werden können. |
Re: OnNewRecord Vor Post auf bereits vorhandene Werte checke
Zitat:
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 20:06 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