Version 6.5
Find index key (IndizFeld; Wert) Lange Ganzzahl
Parameter | Typ | Beschreibung | |
IndizFeld | Datenfeld | Indiziertes Feld, auf dem die Suche laufen soll | |
Wert | Feld / Variable | Zu suchender Wert | |
Gefundener Wert | |||
Funktionsergebnis | Lange Ganzzahl | Nummer des gefundenen Datensatzes oder | |
-1 wenn Datensatz nicht gefunden wurde |
Beschreibung
Die Funktion Find index key gibt die Nummer des ersten Datensatzes zurück, dessen Feld IndizFeld gleich Wert ist.
Werden keine Datensätze gefunden, gibt Find index key 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 index key verändert weder die aktuelle Auswahl noch den aktuellen Datensatz.
Diese Funktion ist schnell, da sie nur den Index einsetzt. Außerdem verhindert sie Doppeleinträge während der Dateneingabe.
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 index key([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