4D v14.3Find in field |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
Find in field
|
Find in field ( targetField ; value ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
targetField | フィールド |
![]() |
検索を実行するフィールド | |||||
value | フィールド, 変数 |
![]() |
検索する値 | |||||
![]() |
検索された値 | |||||||
戻り値 | 倍長整数 |
![]() |
検索されたレコード番号 または レコードが検索されなかった場合、-1 | |||||
Find in field コマンドは、targetFieldフィールドの値がvalueに等しい最初のレコードのレコード番号を返します。何もレコードが見つからなければ、は-1を返します。
このコマンドを呼び出した後、valueには見つかった値が返されます。これにより、文字列フィールド上でワイルドカード (“@”) を使って検索し、見つかった値を知る事ができます。
このコマンドは、カレントセレクションまたはカレントレコードを変更しません。
このコマンドは速く、特にレコード入力中に重複データの入力を防ぐのに役立ちます。
以前のバージョンについて: このコマンドは、初期のバージョンでの名称はFind index keyコマンドで、インデックスが付けられたフィールドのみを対象としていました。4D v11 SQLからこの制限はなくなり、そのためにコマンド名が変更されました。
オーディオ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
Trouver clef index
ランゲージリファレンス ( 4D v12.4)
ランゲージリファレンス ( 4D v11 SQL Release 6)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v13.5)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)