検索ステートメント

条件を満たすレコードを検索して,そのレコードにカーソルを移動します。


形式

  検索 [ <カーソル名> , ] <論理式>
, 開始位置 = 現在位置 | 先頭 | 末尾
, 方向 = 順方向 | 逆方向
, 索引自動判定 = する | しない
  検索 [ <カーソル名>, ] 条件名指定
, 条件 = <条件名>
, 開始位置 = 現在位置 | 先頭 | 末尾
, 方向=順方向 | 逆方向
, 索引自動判定 = する | しない
  検索 [ <カーソル名> , ] 条件式指定
, 条件 = <条件式>
, 開始位置 = 現在位置 | 先頭 | 末尾
, 方向 = 順方向 | 逆方向
, 索引自動判定 = する | しない
  検索 [ <カーソル名> , ] 実行時指定

パラメータ

<カーソル名>
検索するウィンドウを指定します。開始位置=現在位置 のときは,カーソルが指すレコード位置も意味をもちます。省略するとカレントカーソルが指すウィンドウを探します。
<論理式>
検索する条件を任意の論理式で指定します。条件式指定 の場合と異なり,式を直接記述します。
たとえば,[項目A]='ABC' のような単純な比較を行なう検索では,条件式指定 で記述した方が最適化が効果的に行なわれます。<論理式> による指定よりも 条件式指定 の形式を利用することをお勧めします。
条件名指定
表にあらかじめ登録してある探索条件を使用して検索するときに指定します。
<条件名>
表に登録してある探索条件の名前を文字列式で指定します。条件名指定 のときのみ意味をもちます。古いバージョンとの互換性のために 条件名= の形で書くこともできます。
条件式指定
任意の条件式を文字列式で指定して検索するときに指定します。検索の速度が重要な場合,<論理式> よりも効果的な最適化が行なわれる可能性があるので,この 条件式指定 による形式を使うことをお勧めします。
<条件式>
検索条件になる論理式を文字列式として指定します。ステートメント中に <論理式> を直接記述する場合と異なり,ここでの条件は文字列式で指定し,その値が論理式として評価されます。
開始位置
検索を開始するレコードの位置を指定します。
現在位置<カーソル名> が指すカーソル位置の次のレコードから検索します。
先頭表の先頭のレコードから検索します。(既定値)
末尾表の末尾から検索します。
方向
検索してゆく方向を指定します。開始位置パラメータが 現在位置 の場合だけ有効です。
順方向末尾方向に検索します。(既定値)
逆方向先頭方向に検索します。
索引自動判定
索引自動判定を行なうかどうかを指定します。
する高速に検索するために利用できる索引を探して検索されます。この場合,利用した索引に応じて,検索実行後のウィンドウの整列状態が変更されます。
しない現在の整列状態のまま検索されます。(既定値)
現在位置 からの検索では索引自動判定パラメータは無効です。常に現在の整列状態のまま検索されます。
実行時指定
条件検索ダイアログを表示して,実行時に探索条件や開始位置などを指定します。

結果

<カーソル名>最初に見つかったレコード位置にカーソルが移動します。見つからなければ移動しません。
カレントカーソル<カーソル名> と同じ内容になります。
$$CMDSTATE= 0正常終了
= 21条件を満たすレコードが見つかりません
= 31検索ダイアログで[キャンセル]ボタンが押されました
= 32検索が途中で中止されました
= 201カーソルが正しくありません
= 221数値,時刻などのデータ表現が正しくない,または実行時指定で入力した式の形式が正しくありません
= 302指定された探索条件が登録されていません

構造コマンドパラメータ
 オープン@MASTER, 'MASTER.DPT'
 検索@MASTER, [商品番号]=1001
 代入$商品番号 := 1001
 検索@MASTER, [商品番号]=$商品番号, 開始位置=現在位置
 検索@MASTER, 条件名指定, 条件='得意先名'
 検索@MASTER, 実行時指定

解説

注意

関連項目

→論理式と論理値
→[探す]-[条件検索]
→項目検索ステートメント
→選択ステートメント
→DPLの構文
→$$CMDSTATE一覧
DBProヘルプ目次へ