LoginSignup
6

More than 5 years have passed since last update.

[関連レコードへ移動] スクリプトステップについて書いてみる

Posted at

FileMaker Advent Calendar 2015の22日目

[関連レコードへ移動] スクリプトステップについて書いてみる

[関連レコードへ移動] スクリプトステップとは?

関連レコードへ移動

目的
このスクリプトステップがアクティブなポータル内の行で使用されている場合を除き、関連テーブル内の現在の関連レコードに移動します。
構文
関連レコードへ移動 [テーブル:「<テーブル名>」; 使用するレイアウト 「<レイアウト名>」]

簡単な検証をしてみる

FMC2Goスケジューラーでは
151221-05.png
こんな感じなんですが...

ミニマムな環境を作ってみる

151222-01.png

151222-02.png

151222-03.png

151222-04.png

ミニマムなスクリプトを書いてみる

151222-05.png

動作を確認してみる

IDを入力して[抽出]ボタンを押すと「関連レコードへ移動」によって絞り込みが行われます
151222-06.png
こうなるのは容易に想像つきます

IDを2つ入れてみる
151222-07.png
2行抽出されました

IDを3つ入れてみる
151222-08.png
3行抽出されました

[関連レコードへ移動] スクリプトステップは対象レコードの絞り込みに使える

対象レコードを絞り込むには?

対象レコードを取得する方法で思いつくのは

検索モードに移行して検索条件を設定して検索実行

151222-09.png

Loopでレコードを舐めて検索条件に該当しないものを対象外へ

151222-10.png

そして今回取り上げた

関連レコードへ移動

151222-11.png

「関連レコードへ移動」が便利だなと思う使い方

1件だけ対象レコードにする

FileMakerで処理が対象レコードに対して行われようとした時にアワワってなる時ありませんか
例えば「印刷」
印刷するときにの印刷が「対象レコード」になっているのに全レコードが対象になっていて...
ちゃんと印刷が「現在のレコード」になっていればいいのですが
そんな時に簡単に現在のレコード1件だけを対象レコードにしてしまうこんな書き方
151222-14.png
まあ現在のレコードを対象外にして、対象外のみ表示してもいいのですが..
ただしこの場合は先に全レコードを表示しておかないとおかしいことになる場合もあります

検索結果の保存(検索条件の保存ではない)

なにか処理をするのにユーザーが絞り込んだ対象レコードを壊してしまわないといけない
そんなときはユーザーが絞り込んだ結果を保持して、こっちの処理が終わったら戻してあげればいい

検索結果を保持するスクリプト
151222-12.png

検索結果を復元するスクリプト
151222-13.png

今日はここまで

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6