ファイルメーカーにはたくさんの関数がありますが、「関数リファレンス」を見ても読んでも、イマイチよくわからないことが多くあります。しかしながら、分かってしまえば便利な活用方法が沢山あります。PatternCountもその一つです。
PatternCountの構文
PatternCountは、指定したテキスト内に検索対象のテキストが何個あるかを計算します。
構文の基本は、
PatternCount (テキスト ; 検索テキスト)
となっています。
テキストには、検索の対象となるテキストを直接入力する場合と、フィールドを指定する場合があります。テキストを直接入力する場合は、ダブルクォーテーションで囲う必要があります。
PatternCount ("PatternCount" ; "t")
上記の計算式の場合、「PatternCount」のキーワード内に「t」が何個含まれているのかが返ってきます。
PatternCount ("PatternCount" ; "t") = 3
となります。あまり活用の場面を感じません…。
フィールドを指定する場合について。フィールドを指定すると言っても、いまいちピンときませんね。たいていの場合、一つのレコードの一つのフィールドには一単語くらいしか入っていないのが殆どです。
しかし例外がありまして、フィールドのコントロールスタイルが「チェックボックス」の場合は、一つのフィールドに複数個の単語が入っている場合があります。
例えば、以下のような場合は、テストフィールドに「りんご」「いちご」「みかん」が入っていることになります。
このような場合、計算式内にフィールドを指定することで、フィールド内に含まれているキーワードを検索することができます。以下のようにすることで、テストフィールドに「りんご」が何個含まれているかを返す式になります。
PatternCount ( テストフィールド ; "りんご" ) = 1
PatternCountの活用法について
さて、この関数をどのように活用するかですが、やはりフィールドコントロールがチェックボックスである場合、かつ多量の単語(チェックがたくさんある場合)が入力されている場合に、指定したデータが含まれているかの有無を確認するのに役立てられそうです。
それも、有効的な利用法として、レイアウト上にそのような式を仕込んだフィールドを作成するというよりも、ボタンに設定した「スクリプトステップ」のなかのIf関数によるスクリプトステップの条件分岐に活用する方法が考えられます。
どう活用するのかは、その方の何がしたいかによるところのアイディア次第です。
スクリプトステップ以外で活用するとすれば、計算式に組み込んで、選択されているデータを一覧表示させるなどがあります。
計算式の内容を以下に表示します。