4D v16.3Find in field |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Find in field
Find in field
Find in field コマンドは、targetFieldフィールドの値がvalueに等しい最初のレコードのレコード番号を返します。何もレコードが見つからなければ、は-1を返します。 このコマンドを呼び出した後、valueには見つかった値が返されます。これにより、文字列フィールド上でワイルドカード (“@”) を使って検索し、見つかった値を知る事ができます。 注: この原則により、コンパイルモードではvalue に引数($1、$2、など)を使用する事はできません(不正な挙動を引き起こします)。同様に、value 引数にフィールドを渡したとき、正常にクエリされたときにはその値は上書きされるという点に注意して下さい(特にModified record コマンドはテーブルのカレントレコードに対してはTrueを返します)。 このコマンドは、カレントセレクションまたはカレントレコードを変更しません。 このコマンドは速く、特にレコード入力中に重複データの入力を防ぐのに役立ちます。 以前のバージョンについて: このコマンドは、初期のバージョンでの名称はFind index keyコマンドで、インデックスが付けられたフィールドのみを対象としていました。4D v11 SQLからこの制限はなくなり、そのためにコマンド名が変更されました。 オーディオCD用のデータベースで、レコード入力中に既に登録されている歌手かどうかを確認したいとします。同姓同名も存在するため[Singer]Nameフィールドを重複不可にせず、入力フォームで[Singer]Nameフィールドのオブジェクトメソッドに下記のコードを書くことにします: If(Form event=On Data Change) この例題は有効な値を持つレコードがあるかを調べます。 C_LONGINT($id;$1) 備考: 演算子 >= が示しているのは、全てのレコード番号を対象としていることです。本コマンドはレコード番号を返しますが、レコード番号の最小値は0なので、全てのレコード番号が対象となります。
|
プロパティ
プロダクト: 4D 履歴
変更: 4D v11 SQL タグ Trouver clef index ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||