[検索条件を指定] ダイアログボックスおよび [検索条件を編集] ダイアログボックス
これらのダイアログボックスを使用して、保存済み検索を作成する際、および次のスクリプトステップで記述する検索条件を作成および管理します:
- 検索モードに切り替え
- 検索実行
- 対象レコードの拡大
- 対象レコードの絞り込み
検索条件の保存の詳細については、検索条件の保存を参照してください。
[検索条件を指定] ダイアログボックスでは、次の操作を行うことができます。
- [新規...] をクリックして [検索条件を編集] ダイアログボックスで検索条件を定義します。
- 一覧で検索条件を選択して [編集...] をクリックすると選択した検索条件が開きます。
- 一覧で 1 つまたは複数の検索条件を選択して [複製] をクリックすると選択した検索条件が複製されます。
- 一覧で 1 つまたは複数の検索条件を選択して [削除] をクリックすると選択した検索条件が削除されます。
[検索条件を編集] ダイアログボックスでは、次の操作を行うことができます。
- [処理] では、[レコードの検索] または [レコードを対象外に] を選択して、この検索条件でレコードを検索するか、それとも対象外にするかを指定します。
レコードを検索する場合は、レコードが対象レコードに追加されます。検索対象外とされたレコードは除外されます。1 つの検索条件で実行できるのは、レコードを検索するか、または対象外にするかのいずれかです。同じ [検索実行] スクリプトステップでレコードの検索およびレコードを対象外にする処理の両方を行う必要がある場合は、複数の検索条件を使用します。
- [次の場合にレコードを検索する] (または [次の場合にレコードを対象外に]) には、現在のテーブル内にあるフィールドの一覧が表示されます。検索条件を作成するには、最初にこの一覧からフィールドを選択します。
- 関連テーブルからフィールドを選択するには、一覧の一番上にある現在のテーブル名をクリックして目的の関連テーブルを選択します。次に、関連テーブルの新しい一覧から関連フィールドを選択します。
- [繰り返し] の数を変更して、繰り返しフィールドの特定のセルを指定します。
- [条件] 領域には選択したフィールドに対する検索条件を入力します。
- [演算子の挿入] をクリックしてさらに詳しく検索条件を指定します。レコードの検索を参照してください。
- [検索条件を編集] ダイアログボックスで作成または編集した検索条件には、ローカル変数 ($ で始まる値) とグローバル変数 ($$ で始まる値) を含めることができます。次の「検索条件での変数の使い方の注意」を参照してください。
- [追加] をクリックすると指定した条件が検索条件に追加されます。
- 既存の検索条件を変更するには、ダイアログボックスの上部から変更するフィールドと条件が含まれる行を選択して、変更を加えます。[変更] をクリックして変更内容を保存します。
- 既存の条件を削除するには、ダイアログボックスの上部から削除するフィールドと条件が含まれる行を選択して [削除] をクリックします。
検索条件での変数の使い方の注意
- 検索条件内の変数には単純な形式 (
*/*/$birthYear
) または複雑な形式 ($birthQuery
、ただし$birthQuery
の値は*/*/1994
とする) が使用できます。 - 繰り返しフィールドの繰り返し数 (索引) は、検索条件内の変数に含めることができません (
$variable [repetition]
構文内と同様)。また、ファイルパスに入れることもできません。 - 検索条件内の変数には追加の変数を含めることはできません。FileMaker Pro では変数がネストされている場合は一致するレコードを正確に検索できないことがあります。
- フィールドの検索条件の検証中は変数が不明となる恐れがあるため、FileMaker Pro では変数が検出された場合は検証が停止します。たとえば、[検索条件を編集] ダイアログボックスの日付フィールドに検索条件を入力し、変数を示す "$" が入力された時点でリクエストの検証は停止されます。
- 検索条件に FileMaker Pro が認識できない変数が含まれている場合、その変数が検出されないために一致するレコードも検索されません。
- ファイルパスに変数を使用する場合は、その終わりを表す文字としてバックスラッシュ (\) またはコロン (:) のいずれかを使用します。
例
次の表は、一定のレコードを返すために条件をどのように使用するかを示します。名前というテキストフィールドに、Anne、Andrew、Lando5、Han、Han、Susan という 6 レコードが入力されているとします。
処理 |
条件 |
返されるレコード |
レコードの検索 |
テーブル::名前: [=="Andrew"] |
Andrew |
レコードの検索 |
テーブル::名前: [*an] |
Han、Han、Susan |
レコードの検索 |
テーブル::名前: [@an] |
Han、Han |
レコードの検索 |
テーブル::名前: [!] |
Han、Han |
レコードの検索 |
テーブル::名前: [@an*] |
Lando5、Han、Han |
レコードの検索 レコードを対象外に |
テーブル::名前: [*e*] テーブル::名前: [*w*] |
Anne |
レコードの検索 レコードを対象外に |
テーブル::名前: [*an*] テーブル::名前: [*#] |
Anne、Andrew、Han、Han、Susan |
メモ
- テキストの検索に使用する演算子の一覧については、レコード内のテキストの検索を参照してください。