Find in field

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 11 (Modified)


Find in field (targetField; value) 倍長整数

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

説明

Find in field コマンドは、targetFieldフィールドの値がvalueに等しい最初のレコードのレコード番号を返します。何もレコードが見つからなければ、Find in fieldは-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 - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次