レコード一覧へ移動

レイアウトに移動してレコード ID の一覧で指定された対象レコードを返します。

オプション 

  • [レコード ID の一覧:] では、移動するレコードの識別子の一覧を指定します。レコード ID の並び順で対象レコードがソートされます。レコード ID は指定されたレイアウトに関連付けられたテーブル内の有効なレコード識別子である必要があります。サポートされている一覧の形式については、説明を参照してください。

  • [レコードの表示に使用するレイアウト:] では、一覧のレコードの表示に使用される現在のファイル内のレイアウトを指定します。レイアウトが指定されていない場合、現在のレイアウトが使用されます。

  • [新規ウインドウに表示] では、新規ウインドウに関連レコードを表示して新規ウインドウの設定を指定します。[新規ウインドウ] スクリプトステップを参照してください。

    ヒント  新規ウインドウを自動的に前面に表示するには、[ウインドウを選択] スクリプトステップを追加します。

  • [アニメーション] では、レコードを表示するときに使用するアニメーションを指定します (FileMaker Go のみ)。

互換性 

製品 サポート
FileMaker Pro 一部
FileMaker Go はい
FileMaker WebDirect 一部
FileMaker Server 一部
FileMaker Cloud 一部
FileMaker Data API 一部
カスタム Web 公開 一部

起点バージョン 

22.0

説明 

このスクリプトステップは現在のウインドウ (または新しいウインドウ) で指定されたレイアウトに移動します。次に、対象レコードとそのソート順を [レコード ID の一覧] で指定された内容に変更してそのセットの最初のレコードに移動します。

[レコード ID の一覧:] オプションは次のいずれかの形式で指定できます:

[レコード ID の一覧:] の形式 メモ

値の一覧

コピー
1
5
21
22
23
7
コピー
1
5
21-23
7
サポートされている区切り文字については、ValueCount を参照してください。

値の JSON 配列

コピー
[1,5,21,22,23,7]

["1","5","21","22","23","7"]

["1","5","21-23","7"]

レコード ID は JSON 数値または文字列にすることができます。

recordId キーと値のペアを持つオブジェクトの JSON 配列

コピー
[
  {
    "recordId" : "1"
  },
  {
    "recordId" : "5"
  },
  {
    "recordId" : "21"
  },
  {
    "recordId" : "22"
  },
  {
    "recordId" : "23"
  },
  {
    "recordId" : "7"
  }
]

[セマンティック検索を実行] スクリプトステップおよび [FileMaker Data API を実行] スクリプトステップによって実行された検索条件は互換性のある形式の JSON を返します。

連続するレコード ID は値の一覧 (例: 21-23) または文字列の JSON 配列の範囲 (例: ["21-23"]) のハイフンで区切られた 2 つの数字として指定できます。数字の JSON 配列の範囲は無効な JSON であるため、このスクリプトステップはエラーを返します。

指定されたレコード ID のいずれかが見つからない場合 (たとえば、レコードが削除された場合)、それらの ID は無視されて対象レコードには見つかったレコードのみが含まれます。結果の対象レコードは指定されたレコード ID のシーケンスと一致するソート順で表示されます。[レコードのソート] ダイアログボックスでは、このソートの状態は <定義済み順序> として表示されます。

メモ 

  • レコード ID はレコードの作成時に FileMaker クライアントによって割り当てられた有効なレコード識別子である必要があります。これらは Get (レコード ID)GetRecordIDsFromFoundSet 関数および FileMaker Data API や OData API 呼び出しなど、他の場所で返されるレコード ID と同じです。主キーフィールドの値やその他のカスタム識別子はサポートされていません。

  • 指定したレコードのいずれかが見つからない場合、このスクリプトステップはエラーコード 101 ("レコードが見つかりません") または 401 ("検索条件に一致するレコードがありません") を返します。これは Get (最終エラー) 関数で取得できます。

  • このスクリプトステップによって新しいウインドウが開いた場合、新しいウインドウでは OnFirstWindowOpen スクリプトトリガまたは OnWindowOpen スクリプトトリガはアクティブになりません。これは、トリガされたスクリプトが目的のレイアウトまたは表示形式に移動しないためです。このスクリプトステップによって新しいウインドウが開いた後でスクリプトを実行するには、次のスクリプトステップとして [スクリプト実行] を追加してください。

  • [アニメーション] オプションは FileMaker Go でのみサポートされています:

    • アニメーションは、選択したウインドウでのみ使用できます。

    • スライダまたはステータスツールバーのボタンを使用したレコード間の移動にアニメーションを使用することはできません。

例 1 - 値の一覧のレコードへの移動

「連絡先」レイアウトに移動して改行で区切られたレコード ID の一覧で指定したレコードを表示します。

コピー
変数を設定 [$recordList ; 値: "15¶8¶23¶4¶12"]
レコード一覧へ移動 [レコード ID の一覧: $recordList ; 使用するレイアウト: 「連絡先」 (連絡先)]

例 2 - 保存されたセマンティック検索のレコードへの移動

セマンティック検索を実行例 2 で実行したセマンティック検索では $$result にレコードの一覧を recordId キーと値のペアを持つオブジェクトの JSON 配列として保存しました。(保存された検索結果の JSON 形式は [レコード一覧へ移動] の形式と互換性があります。) このスクリプトは同じ FileMaker クライアントセッションで新しいウインドウを開き、同じレイアウト (会議詳細) に移動し、同じ対象レコードを表示します。失敗した場合、スクリプトはエラーメッセージを表示します。

コピー
レコード一覧へ移動 [レコード ID の一覧: $$result ; 使用するレイアウト: 「会議詳細」 (会議) ; 新規ウインドウ]

If [Get (最終エラー) ≠ 0 ]
    カスタムダイアログを表示 ["エラー" ; "指定したレコードに移動できませんでした。エラー: " & Get (最終エラー)]
End If

例 3 - ホスト上でのクライアントの対象レコードの再作成

FileMaker クライアント上で在庫が少ない製品 (< 50) の検索を実行してから、GetRecordIDsFromFoundSet 関数を使用して対象レコードのレコード ID を取得します。クライアントスクリプトがホスト上のスクリプトを呼び出してレコード ID の一覧を渡します。

コピー

クライアントスクリプト

レイアウト切り替え [「製品」 (製品) ; アニメーション: なし]
検索モードに切り替え [一時停止: オフ]
フィールド設定 [製品::在庫 ; "<50"]
検索実行 [ ]

変数を設定 [$foundSetIDs ; 値: GetRecordIDsFromFoundSet (ValueNumberRanges)]

サーバー上のスクリプト実行 [「ホストスクリプト」 ; 指定: 一覧から ; 引数: $foundSetIDs ; 終了するまで待つ: オン]

カスタムダイアログを表示 ["結果" ; Get (スクリプトの結果)]

ホストスクリプトは「製品」レイアウト上のレコードの一覧に移動し、結果を計算してクライアントスクリプトに返します。

コピー

ホストスクリプト

変数を設定 [$recordIDs ; Get (スクリプト引数)]
レコード一覧へ移動 [レコード ID の一覧: $recordIDs ; 使用するレイアウト: 「製品」 (製品) ; アニメーション: なし]

# 対象レコードのレコードを処理して $result を返します
現在のスクリプト終了 [テキスト結果: $result]