FileMaker Pro Advanced で カスタム関数 を使って年齢を計算してみる!

FileMaker Pro Advanced で カスタム関数 を使って年齢を計算してみる!

こんにちは。solb system の Teruhiro Kömaki です。

新たなブログを立ち上げましたが、いまのところ、アクセスは皆無ですね。

だけど。。。いいんです!

最初は、まったく検索結果に表示されないですから。

そんなことはおいといて、今回はタイトルの通り
“FileMaker Pro Advanced で カスタム関数 を使って年齢を計算してみる!”
ってことで書いてみます。

カスタム関数とは

FileMakerのシステム内で、何度も同じような計算式を定義するんだったら、自分用の関数という形にして、再利用できるようにしよう!っていう感じかなと思います。

作った計算式をカスタム関数として登録すれば、他のフィールドで使ったり、他のスクリプトで使ったり、いちいち式を定義し直す必要はないんです。もちろん、カスタム関数を修正すれば、すべてに適用されるので、メンテナンス性も高まります。

たとえば、ファイルを開くときに“FileMaker Pro からのアクセス”なのか、もしくは“iPhone の FileMaker Go からのアクセス”なのか、などにより分岐させる計算式などは、カスタム関数として自分用に定義すれば、もし違うファイルで使う場合でも、カスタム関数はインポートができるので、再利用が簡単にできるのも良い部分です。

再帰などの話もあるのですが、まずは何事もやってみる!ということが大事なので、やってみます。

※カスタム関数は FileMaker Pro Advanced でないと作成できませんので、お使いのFileMakerをご確認ください。

【関連】カスタム関数について(FileMaker Pro Advanced)

因みにFileMakerのオフィシャルのページを見ると、このようになっています。

カスタム関数の機能を使用すると、作成したデータベースファイル内の任意の場所で再使用できるカスタム関数を作成することができます。FileMaker Pro ファイル間でカスタム関数をコピーおよび貼り付け(ペースト)したり、カスタム関数を他の FileMaker Pro ファイルからインポートできます。一度関数に対して計算式を作成すれば、他のフィールドに適用したり、他のスクリプトで使用する場合に式を作成し直す必要はありません。
カスタム関数とカスタム関数に含まれる式を一元的に維持および修正することができます。カスタム関数に適用された変更は、そのカスタム関数が使用されているすべてのインスタンスにコピーされます。

環境

OS OS X Mavericks v10.9.5
FileMaker FileMaker Pro 11 Advanced

カスタム関数を探す

早速、つくりましょう!と言っても、細かい説明が大変なので、今回は、他のFileMakerの開発者さんが作成したカスタム関数を使わせてもらいます。

カスタム関数がアップされているサイト

探せば色々ありますが、有名なサイトを紹介します。

【関連】FMPro.jp : カスタム関数 : 一覧
【関連】FileMaker Pro Custom Functions

サイトにカスタム関数が色々とあるので、気に入ったカスタム関数があれば、感謝の気持ちで使わせて頂きます。

年齢の計算をするカスタム関数

今回は FMPro.jp のなかにある ageComplex 関数 というカスタム関数を使ってみます。

サンプルファイルをダウンロードします

サンプルファイルをリンクからダウンロードします。
ダウンロードページを開く

カスタム関数を作成します

このような順番で、カスタム関数の管理を開きます。

filemaker-custom-function-1-01

カスタム関数を管理する画面になります。
真っ白なので、勢いよく【新規】を選択します。

filemaker-custom-function-1-02

カスタム関数を編集する画面になります。
ここに情報を入力していきます。

filemaker-custom-function-1-03

それぞれの項目に ageComplex 関数 のページにある情報を入力していきます。
入力したら【OK】を選択します。

filemaker-custom-function-1-04

カスタム関数の管理の画面に追加されていますので【OK】を選択します。

filemaker-custom-function-1-05

カスタム関数を使います

次は作成したカスタム関数を使います。

【dBirthday】フィールドに生年月日が入力されている場合、先ほど作成したカスタム関数を使い、【nAge】フィールドに年齢を設定するスクリプトを作成し、作成したスクリプトを【ageComplex】ボタンに設定します。

レイアウト

サンプルファイルのレイアウトは、このような画面になります。

filemaker-custom-function-1-06

スクリプト

【ageComplex】というスクリプトを作成します。
【フィールド設定】のみなので簡単です。このような計算式になります。

作成したカスタム関数は、関数一覧に表示されますので【ageComplex ( Birthday ; TheDay )】を探します。

filemaker-custom-function-1-07

修正します。

filemaker-custom-function-1-08

スクリプトはこのようになります。

スクリプト名:ageComplex
#
フィールド設定 [Sample::nAge; ageComplex ( Sample::dBirthday ; “” )]

filemaker-custom-function-1-09

スクリプトの実行

ブラウズモードにしまして、ボタンをクリックします。

filemaker-custom-function-1-10

年齢が設定されます。

filemaker-custom-function-1-11

おわり

FileMakerに関するブログの一発目ということで、ちと緊張してます。
コツコツとやっていきますので、よろしくです!
さて、話は変わりますが、何かの調べ物をしてた時に「FileMakerを教えますよ!」ということをサイトに登録されている方がいまして、少し驚きました。
もしかしたら、どっかのFBAの方の副業だったりするのかな?とも思いましたけど。。。

filemaker-custom-function-1-12

FileMakerを勉強したい人へ

FileMakerをしっかりと勉強するのであれば、オフィシャルの学習用テキストが一番確実です。

体系立てて習得できるので、断片的に勉強するよりも理解もしやすいはずです。

ということで FileMaker Training Series をやるべし!

FileMaker Training Series には基礎編応用編の2種類があります。

さらに FileMaker Training Series に近いのですが、もうひとつ別で FileMaker Drill Book というテキストがあります。

まずは、オフィシャルの学習用テキストを購入して、コツコツ勉強することが一番の近道だと思います。

少しでもお役に立てたことがあれば シェアしていただけると嬉しいです

via PressSync

FileMakerの開発を主なる仕事にしてます。 FileMakerのBasicなことやAdvancedなことをメインに記事を書いてますが、FileMakerに関係ないこともバシバシ書いていきます。 現在は Java 勉強中ですので、勉強会などにも参加していきます。 コメント頂けると嬉しいです!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください