Version 11 (Geändert)
Find in field (ZielFeld; Wert) Lange Ganzzahl
Parameter | Typ | Beschreibung | |
ZielFeld | Datenfeld | Feld zum Ausführen der Suche | |
Wert | Feld / Variable | Zu suchender Wert | |
Gefundener Wert | |||
Funktionsergebnis | Lange Ganzzahl | Nummer des gefundenen Datensatzes oder | |
-1 wenn kein Datensatz gefunden wurde |
Beschreibung
Die Funktion Find in field gibt die Nummer des ersten Datensatzes zurück, dessen Feld ZielFeld gleich Wert ist. Werden keine Datensätze gefunden, gibt Find in field den Wert -1 zurück.
Nach Aufrufen dieser Funktion enthält Wert den gefundenen Wert. Damit können Sie auch Suchen mit dem Jokerzeichen ("@") in Feldern vom Typ Alpha durchführen und dann den gefundenen Wert wiederfinden.
Find in field verändert weder die aktuelle Auswahl noch den aktuellen Datensatz.
Diese Funktion ist schnell und hilfreich, um Doppeleinträge während der Dateneingabe zu verhindern.
Beispiel
Sie möchten in einer Audio CD Datenbank während der Dateneingabe prüfen, ob der Name eines Sängers bereits in der Datenbank vorhanden ist. Da derselbe Name öfters vorkommen kann, wollen Sie das Feld [Sänger]Name nicht einmalig machen. So schreiben Sie im Eingabeformular in der Objektmethode für das Feld [Sänger]Name folgenden Code:
If (Form event=On Data Change) $RecNum:=Find in field([Sänger]Name;[Sänger]Name) If ($RecNum # -1) ` Wurde dieser Name bereits eingegeben CONFIRM("Es gibt bereits einen Sänger mit demselben Namen. Wollen Sie den Datensatz sehen?";"Ja";"Nein") If (OK=1) GOTO RECORD([Sänger];$RecNum) End if End if End if