【FileMaker】他のfmp12のファイルにあるスクリプトを実行する

今回は、
「他のfmp12(FileMaker)にあるスクリプトを動かしたい」
というお題です。

これはどういう時に使えるかというと、
・総務部の人が経理部の情報をもらいたい
・サンプルファイル(テンプレートファイル)にあるスクリプトを別のファイルにコピペせずに使いたい
・トップページは会社ポータル画面で、各部署のfmp12をその部署の人だけに見せて仕事をさせたい
などという事例の時に使えます。

FileMaker バージョン

どのバージョンから外部接続が可能なのかは、わかりませんが、こちらで仕事で関わったバージョン11以降では外部接続が使えていました。
ご利用のFileMakerのメニューに外部データソースの扱いがあれば、可能と思います。

事例

よく社内であるのは、
・総務部の人が経理部の情報をもらいたい
・トップページは会社ポータル画面で、各部署のfmp12をその部署の人だけに見せて仕事をさせたい
という部分ではないでしょうか?

FileMaker開発の中級クラスにもなると、こういうこともできる?と降って湧いてくるかもしれませんね。
スクリーンショット 2020-12-28 10.46.21.png
上記を自分の環境に置き換えて読んでみましょう。

sample1→総務部fmp12
sample2→経理部fmp12
この例の場合、各部署にはそれぞれの部署でしか扱わない情報があるので、アクセス権などの設定もしておく必要があります。

sample1→運用アプリfmp12
sample2→サンプルアプリfmp12
この場合は、サンプルアプリにある機能を単純に運用アプリでも使いたい(組み込みたい)という意図なので、厳密なアクセス権の設定はしなくてもいい場合もあります。

設定

fmp12に限らず、今現在使用しているfmp12よりも外部のファイルやデータベースを使用する(連携する)場合は、外部接続の設定をします。
1.メニューから、「ファイル」→「管理」→「外部データソース…」を選択します。
スクリーンショット 2020-12-28 10.39.39.png
最初のアクセスの場合は、以下のようなメッセージが出ます。
スクリーンショット 2020-12-28 11.16.41.png

2.次に、使いたい外部ファイルを選択します。
今回は、FileMakerの外部ファイルを使用したいので、FileMakerを選択し、ファイルを選択します。
スクリーンショット 2020-12-28 10.39.56.png

設定は、これだけです。

ここで設定する以外に、データベース管理で、リレーションシップを構築する際、他のfmp12からのテーブルを使用するのにこの外部データソース設定をしている場合もあります。
スクリーンショット 2020-12-28 11.16.12.png
どちらで外部接続を設定しても、OKです。

スクリプトを選択する

sample1からsample2のスクリプトを実行する場合、sample1にsample2のスクリプトを呼び出すスクリプトを作成します。
1.スクリプト内で、「スクリプトの実行」ステップの設定を出します。
この時、スクリプトを選択する対象は、現在扱っているfmp12ファイル内のものが表示されます。
スクリーンショット 2020-12-28 11.00.16.png
2.この、ファイル名の部分をクリックすると、外部接続で設定したファイル名が表示されます
スクリーンショット 2020-12-28 11.00.25.png
先にやった設定以外のfmp12などのファイルを使いたいけど設定に戻るのが面倒、、、というときは、設定画面に戻らず、sample2の下に表示されているデータソースの追加等からも直接追加できます。
3.sample2を選択すると、sample2で管理されているスクリプトの一覧が出てきます。
使いたいスクリプトを選択します。
スクリーンショット 2020-12-28 11.00.43.png
4.sample1で、sample2のスクリプトを指定できました。
スクリーンショット 2020-12-28 11.00.57.png

動き

では、sample1で作ったスクリプトを動かしてみましょう。
スクリーンショット 2020-12-28 10.40.09.png
sample2のスクリプトが実行され、カスタムダイアログが表示されました!
スクリーンショット 2020-12-28 10.40.22.png

外部接続と聞くと「なんか設定とか作りとか難しそう、、、」と感じますが、fmp12同士でも外部接続(外部データソース)と呼びますので、敷居が低くなったのではないでしょうか?
また、サンプルを使う時に、「試しに動かしてみたいけど、コピペすると動かない、、、」ともどかしく思っている場合も、この方法で試しに実行してみて、本格的にファイルに組み込む、などできますので、様々な場面で活用してみてください。