FileMakerで開発する際の注意点や便利なあれこれ

皆様、FileMakerを使って開発する際に注意していることはございますか?
本日は、実際に開発する中で、注意することや「これって便利だな」と思ったことを
開発者の皆様にお伝え致します。

本記事をきっかけに、開発者様がお悩みになっていることが
解決の糸口になればと思います。

半角や全角が入り混じるフィールドの文字数もこれで解決~【lengthB】~

クライアントのご要望やシステムを開発する上で、入力する項目に対しての
文字数制限を行う場合に有効なカスタム関数になります。

それが、「lengthB」です。

通常、既存の関数にございます「length」を用いれば、文字数を取得することは可能です。
しかし、半角と全角が入り混じる場合ですと、正確に文字数を判断し制御することが出来ません。

そこで、効率よく判断することができる、カスタム関数【lengthB】になります。

こちらのカスタム関数は、”指定したフィールドのバイト数”を取得することができます。

例えば、”大阪府大阪市中央区xxx”に対して、このlengtBを用いると、
値は「21」を返します。

式としては以下の通りです。
・全角2byte、半角1byteと判断するため = 大阪府大阪市中央区(18byte) + xxx(3byte)

となります。

こちら通常の、lengthですと、「12」という結果になります。

ひとえに文字数制限といっても文字数の長さから制御する場合もあれば、
実際に入力できる数を制御する場合もあるかと思います。

半角や全角など全体を通して、文字数を判断したい際には、ぜひ「lengthB」を使用してみてください。

軽微な画面のズレは、フォントによって起こっている?

普段開発しているうえで、実はFileMakerでは、WindowsとMacOSでは、
レイアウトがズレてしまうことは、ご存知でしょうか。
両OSを使用している開発者様は周知の上かと思います。

実はこれ、Windows同士でも、微妙なズレが起きてしまうことがございます。

それは、「フォント」によって軽微なズレが生じてしまっています。

クライアントの数だけ、様々な動作環境が発生します。
もちろんOSも例外ではございません。
そんな中、フォント(特殊なフォント等)を指定していると、クライアントの環境にフォントが、
インストールされていない場合、正常に表示されません。
※FileMaker以外のソフトでも同様です。

ではこちらで指定しているフォントがない場合どうなるかといいますと、
FileMakerでは、別のフォントを指定します。

クライアントによっては、登録画面のフォントは気にされていなくても、
お客様に提出する印刷物等は問題が生じる場合もございます。
こちらが意図していなくてもクレームに繋がり兼ねませんので、
ご注意ください。

開発の段階では注意を怠りがちな「フォント」ですが、
意外にも大きな落とし穴が潜んでいるかもしれません。

「次の場合にオブジェクトに隠す」の変更点知ってますか?

皆様、普段、フィールドやオブジェクトを隠す処理を行ってはおりませんでしょうか。
恐らく多くの開発者様が利用されている機能の一つかと思います。

まず「次の場合にオブジェクトに隠す」について、
インスペクタ > データタブ(右端) > 動作 
の中に配置されている機能になります。

こちらは設定した計算式の結果が正であれば「非表示」となり、偽であれば「表示」される機能です。
例えば、配置したオブジェクトを指定したフィールドの値が空の場合は表示したくない、といった場面で

 指定したフィールド = “”

という計算式を隠したいオブジェクトに設定すると、
指定したフィールドの値が空の際、計算結果は正なので「非表示」となります。

実はこれ、FileMaker17より仕様が変更されています。

このオブジェクトを隠す処理ですが実は、FileMaker17より一部、仕様が変更されています。

[次の場合にオブジェクトを隠す] インスペクタオプションの計算式でエラーと評価された場合、オブジェクトは非表示になります。

Claris社公式サイトより

バージョン16までは、結果が「?」でエラーでも
偽と同じで表示される結果となっておりました。

しかし、バージョン17からは、
「?」でエラーと評価された場合には、非表示となってしまいます。

例えば、
「住所」が”大阪”の場合、入力したいフィールドAがあり、
「住所」が”東京”の場合、入力したいフィールドBがあるとします。

とある修正で、「住所」のフィールを削除してしまった場合、
上記の計算式は根底から無くなってしまいます。

その際、FileMaker16までは、エラーでも入力したいフィールド自体は表示されておりました。
しかし、FileMaker17以降では、「住所」のフィールドがなくなり、エラーとなり、
大阪の場合も東京の場合も関係なく、フィールドが表示されません。

場合によっては、入力したいフィールドAもBも存在しないため、
クライアントから連絡があり、不具合に気づけるとおもいます。

しかし必ずしも、上記のような使い方ばかりではございませんので、
エラーで表示されなくなると困る場合もあるかと思います。

いずれにしても不具合に繋がり兼ねませんので、
古いバージョンから新しいバージョンに変更された際には、
一度確認をおすすめいたします。

弊社では、大阪をメインに、FileMakerの仕事を請け負っております。
興味がある方は、ぜひお問合せよりご相談、宜しくお願い申し上げます。