指定された値または条件に一致する最初のレコードを検索するか、または指定されたレコード番号に移動します。
構文
LOCATE {IF テスト <WHILE テスト> <FIRST 範囲|NEXT 範囲>|RECORD 番号}
パラメーター
名前 | 説明 |
---|---|
IF テスト |
検索する値または条件。 文字リテラル値は引用符で囲み、日付時刻値は逆引用符で囲む必要があります。 |
WHILE テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。 条件が false と評価するか、テーブルの最後に達したら、コマンドは実行を中止します。 メモ WHILE を FIRST または NEXT とともに使用する場合は、1 つの制限に達するとすぐに、レコードの処理が停止します。 |
FIRST 範囲 | NEXT 範囲 省略可能 |
処理するレコード数:
範囲は処理するレコード数を指定します。 FIRST と NEXT を省略すると、すべてのレコードがデフォルトで処理されます。 |
RECORD 番号 |
位置を示すレコード番号。 |
例
指定した値と一致する最初のレコードを検索する
次の例では、LOCATE コマンドを使用して、特定の値が最初に現れるテーブルを見つける方法を示します。
LOCATE IF Vendor_Name = "United Equipment"
LOCATE IF Vendor_Name = "Uni"
LOCATE IF Invoice_Amount > 1000
LOCATE IF Invoice_Date = `20141231`
指定した条件または式と一致する最初のレコードを検索する
次の例では、LOCATE コマンドを使用して、特定の条件または式が最初に現れるテーブルを見つける方法を示します。
LOCATE IF Vendor_Name = "United Equipment" AND Invoice_Amount > 1000 AND Invoice_Date > `20140930`
LOCATE IF Vendor_City = v_city
レコード番号によってレコードを検索する
次の例では、LOCATE コマンドを使用して、テーブル内の特定のレコードへ移動する方法を示します。
LOCATE RECORD 50
備考
メモ
このコマンドの動作の詳細については、Analytics のヘルプを参照してください。
機能の仕組み
LOCATE コマンドは、指定した値または条件と一致する、テーブル内の最初のレコードに直接移動する場合に使用します。
指定した値または条件が見つかった場合、テーブル内で最初に一致するレコードが選択されます。 指定した値または条件が見つからなかった場合、テーブルは最初のレコードに位置付けられます。
また、LOCATE を使用すると、特定のレコード番号に直接移動できます。
LOCATE と FIND および SEEK の比較
FIND コマンドや SEEK コマンドとは違い、LOCATE コマンドでは、検索対象はインデックス付きのテーブルや単一の文字フィールドに制限されません。 LOCATE を使用すると、あらゆる型のリテラル、任意のデータ型を使用した式、データ型が混在した式を検索することができます。
インデックス付きでないテーブルの検索に使用した場合、LOCATE コマンドはテーブル内の各レコードを順次処理する必要があるため、FIND コマンドや SEEK よりも処理速度が著しく低下する可能性があります。 必要な処理時間は、テーブルのサイズ、一致するレコードの場所、および WHILE、FIRST、または NEXT を使用して検索範囲を狭めているかどうかによって異なります。
部分一致がサポートされる場合とは
文字検索では、部分一致がサポートされます。 フィールドまたは検索対象フィールドに含まれる長い値の一部を検索値に指定できるのです。 ただし、検索値は、一致を成すフィールドの先頭に現れる必要があります。
部分一致を有効または無効にする
SET コマンドを使用するか、[オプション]ダイアログボックスを使用して、部分一致を有効または無効にできます。
部分一致を有効にする | 部分一致を無効にする |
---|---|
指定: SET EXACT OFF または 選択解除: [オプション]ダイアログボックス(ツール > オプション > テーブル)の[正確な文字比較] 結果:フィールドまたは検索対象フィールドに含まれる長い値の一部を検索値に指定できるのです。 検索値は、一致を成すフィールドの先頭に現れる必要があります。 |
指定: SET EXACT ON または 選択: [オプション]ダイアログボックス(ツール > オプション > テーブル)の[正確な文字比較] 結果:検索値は、一致を成すフィールドの値と正確に一致しなければなりません。 |
SET EXACT の詳細については、SET コマンドを参照してください。
[正確な文字比較を行う]オプションの詳細については、テーブル タブ(オプション ダイアログボックス)を参照してください。