関連レコードへ移動このスクリプトステップがアクティブなポータル内の行で使用されている場合を除き、関連テーブル内の現在の関連レコードに移動します。
• [関連レコードの取得元:] では、現在のデータベース内のテーブルの一覧からソースのリレーションシップを選択することができます。テーブルがリストに含まれていない場合や、リレーションシップを追加または変更する必要がある場合は、[データベースの管理...] を使用して [「(ファイル名)」のデータベースの管理] ダイアログボックスを表示し、リレーションシップの作成や編集を行うことができます。
• [外部テーブルのレイアウトを使用] では、指定した外部テーブルを含むファイルを開き、関連レコードを表示するファイルからレイアウトを選択できます。このオプションは、選択したソースのリレーションシップが別のファイル内のテーブルを参照する場合にのみ使用できます。
•
• [指定...] では、新規ウインドウに対して前回に選択した設定値を編集できます。
•
• [現在のレコードのみ照合] では、現在のレコードに一致するレコードのセットを含む関連テーブル内に新規対象レコードを作成できます。たとえば、現在表示している顧客テーブル内の顧客レコードに一致する関連請求書テーブルに3つのレコードがあって、3つの請求書すべてを見たい場合は、[現在のレコードのみ照合] を使用して3つの請求書を表示します。
• [現在の対象レコード内のすべてのレコードを照合] では、現在の対象レコード内のすべてのレコードに一致する関連テーブル内に新規対象レコードが作成されます。たとえば、10人の顧客の対象レコードがあって、10人の顧客の誰かに一致する請求書テーブルに40の請求書がある場合は、[現在の対象レコード内のすべてのレコードを照合] を使用して40の一致する請求書を表示します。ソート順序を定義していない場合は、対象レコードは未ソートになります。
FileMaker Pro 6.0 以前のバージョンたとえば、「顧客」テーブルに関連付けられた「請求書」テーブルがあり、現在、ある特定の請求書が表示されているとします。「請求書」テーブルには [関連レコードへ移動 [顧客] というスクリプトステップが設定されたボタンがあります。このボタンをクリックすると、現在表示されている請求書がどの顧客レコードに関連付けられているかが判別され、「顧客」テーブル内の該当レコードに即座に移動します。該当するレコードが「顧客」テーブルの対象レコードとして現在抽出されていない場合は、スクリプトで検索を実行して、該当するレコードを現在のレコードにすることができます。このスクリプトステップは、ポータル行に対して使用することもできます。このスクリプトステップがアクティブなポータル内の行で使用されている場合は、ポータルのテーブルが関連テーブルになり、テーブル内の関連レコードが現在のレコードになります。ポータルのテーブルが関連テーブルでない場合、対象レコード内の最初の関連レコードが現在のレコードになります。このスクリプトステップを外部ファイルのテーブルと併用すると、外部テーブルが含まれるファイルが開き、指定した外部レイアウト(レイアウトが選択されている場合)に移動します。場合によっては、[関連レコードへ移動] スクリプトステップを含むスクリプトにより、意図しない対象レコードが変更されてしまうことがあります。次に例を示します。
• リレーションシップのないテーブルオカレンスを選択したり、テーブルオカレンスを正しく参照していないレイアウトを選択すると、エラーメッセージが表示されます。エラーメッセージが表示された後は、スクリプトの実行は次のスクリプトステップを継続します。
• 関連レコードがない場合や、アクティブなポータル内の行にレコードがない場合は、スクリプトが予想外の結果を生成することがあります。[関連レコードへ移動] を使用する前に、IsEmpty 関数を使用して、関連レコードがないことを確認してください。
• [このテーブルでのレコードの作成を許可] を有効にし、ポータル内の空白の行から [関連レコードへ移動] が実行されている場合は、スクリプトが意図しない結果を生成することがあります。
• ポータル内でレコードをフィルタリングしている場合、このスクリプトステップでは、フィルタリングされたレコードだけでなく、すべてのレコードが提示されます。関連レコードへ移動 [テーブル:「関連テーブル」;
使用するレイアウト:「レイアウト」]次の例では、「関連テーブル」テーブル内の関連レコードに移動し、関連レコードにある対象レコードのみが表示されます。関連レコードへ移動 [関連レコードのみを表示;
テーブル:「関連テーブル」; 使用するレイアウト:「レイアウト」]