関連レコードへ移動
目的
関連テーブル内の現在の関連レコードに移動します。
参照
構文
関連レコードへ移動 [テーブル:「<テーブル名>」; 使用するレイアウト 「<レイアウト名>」; 新規ウインドウ; アニメーション: <アニメーションオプション>]
オプション
•[関連レコードの取得元:] は、現在のデータベース内のテーブルの一覧からソースのリレーションシップを指定します。テーブルが一覧に含まれていない場合や、リレーションシップを追加または変更する必要がある場合は、[データベースの管理...] を使用して [「(ファイル名)」のデータベースの管理] ダイアログボックスを表示し、リレーションシップの作成や編集を行うことができます。
•[
レコードの表示に使用するレイアウト:] は、
関連レコードの表示に使用される現在のファイル内のレイアウトを指定します。
•[外部テーブルのレイアウトを使用] では、指定した外部テーブルを含むファイルを開き、関連レコードを表示するファイルからレイアウトを選択できます。このオプションは、選択したソースのリレーションシップが別のファイル内のテーブルを参照する場合にのみ使用できます。
•[
新規ウインドウに表示] は、新規ウインドウ内の関連レコードを表示し、新規ウインドウの設定値を指定できるようにします。詳細については、
新規ウインドウ スクリプトステップを参照してください。
•[
関連レコードのみを表示] では、
関連テーブル内の新規
対象レコードを、現在のレコードに一致するか、または対象レコード全体と一致するかのいずれかのオプションで作成できます。対象レコードの最初のレコードが現在のレコードになります。このオプションを選択しないと、[関連レコードへ移動] により、テーブルの未ソート順序内にある最初のレコードが現在のレコードになります。
•[現在のレコードのみを照合] では、現在のレコードに一致するレコードのセットを含む関連テーブル内に新規対象レコードを作成できます。たとえば、現在表示している「顧客」テーブル内の顧客レコードに一致する関連「請求書」テーブルに 3 つのレコードがあって、3 つの請求書すべてを見たい場合は、[現在のレコードのみを照合] を使用して 3 つの請求書を表示します。
•[現在の対象レコード内のすべてのレコードを照合] では、現在の対象レコード内のすべてのレコードに一致する関連テーブル内に新規対象レコードが作成されます。たとえば、10 人の顧客の対象レコードがあって、10 人の顧客の誰かに一致する「請求書」テーブルに 40 の請求書がある場合は、[現在の対象レコード内のすべてのレコードを照合] を使用して 40 の一致する請求書を表示します。ソート順序を定義していない場合は、対象レコードは未ソートになります。
•[アニメーション] (FileMaker Go のみ) では、FileMaker Go で関連レコードを表示するときに使用するアニメーションを指定します。
互換性
スクリプトステップを実行する場所 | サポート |
FileMaker Pro | 一部 |
FileMaker Server | 一部 |
FileMaker Go | はい |
カスタム Web 公開 | 一部 |
FileMaker WebDirect | 一部 |
Runtime ソリューション | 一部 |
起点
FileMaker Pro 6.0 以前のバージョン
説明
たとえば、「顧客」テーブルに関連付けられた「請求書」テーブルがあり、現在、ある特定の請求書が表示されているとします。「請求書」テーブルには [関連レコードへ移動 [顧客]] というスクリプトステップが設定されたボタンがあります。このボタンをクリックすると、現在表示されている請求書がどの顧客レコードに関連付けられているかが判別され、「顧客」テーブル内の該当レコードに即座に移動します。該当するレコードが「顧客」テーブルの対象レコードとして現在抽出されていない場合は、スクリプトで検索を実行して、該当するレコードを現在のレコードにすることができます。
ヒント 関連レコードが見つからない場合、このスクリプトステップはエラーコードを返します。このエラーコードは、
Get (最終エラー) 関数を使用して処理することができます。
このスクリプトステップは、
ポータル行に対して使用することもできます。このスクリプトステップがアクティブなポータル内の行で使用されている場合は、ポータルのテーブルが関連テーブルになり、テーブル内の関連レコードが現在のレコードになります。ポータルのテーブルが関連テーブルでない場合、対象レコード内の最初の関連レコードが現在のレコードになります。
このスクリプトステップを外部ファイルのテーブルと併用すると、外部テーブルが含まれるファイルが開き、指定した外部レイアウト (レイアウトが選択されている場合) に移動します。
場合によっては、[関連レコードへ移動] スクリプトステップを含むスクリプトにより、意図しない対象レコードが変更されてしまうことがあります。例:
•関連レコードが見つからない場合は、このスクリプトステップが現在のレイアウト上に残ります。
•リレーションシップのないテーブルオカレンスを選択したり、テーブルオカレンスを正しく参照していないレイアウトを選択すると、エラーメッセージが表示されます。エラーメッセージが表示された後は、スクリプトの実行は次のスクリプトステップを継続します。
•関連レコードがない場合や、アクティブなポータル内の行にレコードがない場合は、スクリプトが予想外の結果を生成することがあります。[関連レコードへ移動] を使用する前に、
IsEmpty 関数を使用して、関連レコードがないことを確認してください。
•[このリレーションシップを使用して、このテーブルでのレコードの作成を許可] が有効で、ポータル内の空白の行から [関連レコードへ移動] が実行されている場合は、スクリプトが意図しない結果を生成することがあります。
メモ
•関連レコードが外部ファイル内にある場合は、ソート順序は維持されません。
•ポータル内でレコードをフィルタリングしている場合、このスクリプトステップでは、フィルタリングされたレコードだけでなく、すべてのレコードが提示されます。
•アニメーションは、選択したウインドウでのみ使用できます。
•スライダまたは
ステータスツールバーのボタンを使用したレコード間の移動にアニメーションを使用することはできません。
例 1
「請求書」テーブル内の関連レコードに移動して、関連レコードの対象レコードをソートします。
関連レコードへ移動 [関連レコードのみを表示; テーブル:「請求書」; 使用するレイアウト:「請求書」 (請求書)]
レコードのソート [記憶する; ダイアログあり: オフ]
レコード/検索条件/ページへ移動 [最初の]
例 2
「請求書」テーブル内の関連レコードに移動して、新しいウインドウで関連レコードの対象レコードをソートします。
関連レコードへ移動 [関連レコードのみを表示; テーブル:「請求書」; 使用するレイアウト:「請求書」 (請求書); 新規ウインドウ]
レコードのソート [記憶する; ダイアログあり: オフ]
レコード/検索条件/ページへ移動 [最初の]
例 3
レコードを左からスライドインして「請求書」テーブルに関連レコードを表示します。
関連レコードへ移動 [関連レコードのみを表示; テーブル:「請求書」; 使用するレイアウト:「請求書」 (請求書); アニメーション: 左からスライドイン]
関連項目