初心者にもわかるファイルメーカーの
使い方

FileMaker 認定資格試験対策 備忘録 Part.6

2021-03-02 |  

こんにちは、FM課 日壁です。
前回に引き続き、試験対策学習ガイドより今回はスクリプトの記述を取り上げたいと思います。

FileMakerのプログラム要素であるこのテーマは重要科目と思われます。
試験問題割合は15%~20%です。

では問題を見ていきましょう。

[問]
[エラー処理 [オン]] スクリプトステップを使用するとどのような影響がありますか。

[答]
[エラー処理 [オン]] スクリプトステップは、エラーダイアログが表示されないようにして、スクリプトを実行し続けることができるようにします。
そのため、予期せぬ方法でデータが誤って変更される可能性があります。

[解説]
この処理では、検索ステップなどで値が検索されなかった時に表示される。

こういうダイアログの表示非表示を行います。
FileMakerが行ってくれているエラーチェックを無視していくことができるようになります。
あらかじめエラーが表示されることが予測されている動きなどを作るときはエラー処理をオンにして組みますね。

[問]
あるファイルに、現在の販売情報で製品レコードを更新するスクリプトが含まれています。
あるユーザはこのスクリプトを実行する必要がありますが、このユーザのアクセス権セットでは製品レコードを編集することができません。
ユーザがこの処理を実行できるようにするには、このスクリプトをどのように設定すればよいでしょうか。

[答]
このスクリプトには、完全アクセス権で実行する権限を付与できます。
この権限は、スクリプト名の上で右クリックして [完全アクセス権を付与] を選択するか、[スクリプト] メニューでオプションを選択することで設定できます。

[解説]

なかなか権限外の処理を書くことは少ないと思いますが、必要な場合はあります。
例えば、FileMakerに登録されているログインアカウントなどがそうと言えますね。
スクリプトステップでアカウントの登録や削除等ができますが、編集するには完全アクセスが必要です。作成時のデバックでは動いていたのに、ユーザーアカウントになると動かないなんてこともよくありますね。

[問]
スクリプト A で、変数 $ID を現在のレコードの主キーに設定します。
次に、スクリプト B をサブスクリプトとして呼び出します。
$ID の値をスクリプト B に渡すためのオプションをいくつか挙げてください。

[答]
1つの $ 記号の変数は、そのスクリプトのみに限定されます。
スクリプト B がデータにアクセスする方法は複数存在します。

a. 変数をスクリプト引数としてスクリプト B に渡し、Get (スクリプト引数) 関数を使用して値を取得します。
b. ローカル変数 ($ID) をグローバル変数 ($$ID) に変更し、この変数をサブスクリプトで参照します。
c. グローバル格納を使用するフィールドにこの値を設定し、そのフィールドの値をサブスクリプトで使用します。

[解説]
今回の問題はサブスクリプトに値を引き渡す手段の確認でした。
基本的にはaの引数を利用して引き渡すことが多いと思います。
JSONがサポートされたおかげで、複数の値の引渡しが容易になりましたね。
引数はよく使う項目なので確認しておいたほうがいい箇所かなと思います。

今回はスクリプトの記述に関しての備忘録でした。
その他の問題と答えはFileMaker18資格試験学習ガイドに記載されていますので、是非チェックしてみてください。

次回はFileMakerのシステムの保護に関しての学習の予定です。

to be continued…