4D v12.4

Find in field

ホーム

 
4D v12.4
Find in field

 

Find in field 


 

Find in field ( targetField ; value ) -> 戻り値 
引数   説明
targetField  フィールド in 検索を実行するフィールド
value  フィールド, 変数 in 検索する値
in 検索された値
戻り値  倍長整数 in 検索されたレコード番号 または レコードが検索されなかった場合、-1

説明   

Find in field コマンドは、targetFieldフィールドの値がvalueに等しい最初のレコードのレコード番号を返します。何もレコードが見つからなければ、は-1を返します。

このコマンドを呼び出した後、valueには見つかった値が返されます。これにより、文字列フィールド上でワイルドカード (“@”) を使って検索し、見つかった値を知る事ができます。

このコマンドは、カレントセレクションまたはカレントレコードを変更しません。

このコマンドは速く、特にレコード入力中に重複データの入力を防ぐのに役立ちます。

例題  

オーディオCD用のデータベースで、レコード入力中に既に登録されている歌手かどうかを確認したいとします。同姓同名も存在するため[Singer]Nameフィールドを重複不可にせず、入力フォームで[Singer]Nameフィールドのオブジェクトメソッドに下記のコードを書くことにします:

 If(Form event=On Data Change)
    $RecNum:=Find in field([Singer]Name;[Singer]Name)
    If($RecNum #-1) ` この名前が既に入力済みなら
       CONFIRM("この名前の歌手が既に存在します。レコードを表示しますか?";"Yes";"No")
       If(OK=1)
          GOTO RECORD([Singer];$RecNum)
       End if
    End if
 End if

 
プロパティ 

プロダクト: 4D
テーマ: クエリ
番号: 653

 
履歴 

変更: 4D v11 SQL