FileMaker

お役立ちブログ

大文字小文字の違いを判定する Exact 関数

FileMakerの基本的な検索機能は、大文字小文字や半角全角の区別をせずに検索結果を出します。
このFileMakerの仕様は、ざっくりと同じ文字列を調べたいときには便利な仕様です。ところが、もしユーザが「大文字小文字を区別して検索したかったのだけれど……」と考えている場合は、標準検索だけでは目的の文字列を検索することができません。もっと厳密に大文字小文字・半角全角を決めて検索したいことも、きっとありますよね。
それでは、「大文字小文字混じり」で「半角」のレコードだけを取り出したい時には、どうすればよいのでしょう。
(例: “SevenKids” を検索したいけれど、”SEVENKIDS” や “sevenkids” は除外したい、という場合)
そんな時には、Exact〔イグザクト〕関数が便利です。
Exact関数は、公式ヘルプでは以下のように紹介されています。

Exact
2 つのフィールドの内容が一致する場合は「1」(真) を返します。それ以外の場合は「0」(偽) を返します。
構文
Exact (テキスト ; 比較テキスト)
例1
Exact (“McDonald” ; “McDonald”) は、「1」(真) を返します。

 

そして、”SevenKids” “Sevenkids” “SEVENKIDS” “sevenkids” “SevenKids” といった文字列が異なるレコードの同じフィールドに格納されているとき、このExact関数を使えば、”SevenKids” のレコードだけが真の値「1」を返すというわけです。

// フィールド「格納テキスト」に、値 “SevenKids” が格納されている場合…
Exact ( 格納テキスト ; “SevenKids”)
=>[処理結果] 1 //「真」と判定されている
Exact ( 格納テキスト ; “SEVENKIDS”)
=>[処理結果] 0 //「偽」と判定されている

このExact関数は、基本的には計算フィールドやスクリプトの中でしか使えないため、レイアウト上で行う通常の検索のほどには手軽に扱えません。ですが、たとえば「ほかでもない “SevenKids” という文字列がある時だけ、これこれの処理を実行したい」と、If文やCase関数での分岐処理をつくりたい場合は、このExact関数の厳密な仕事ぶりが、きっと力になってくれるはずです。

参考:
FileMaker Pro 19 ヘルプ: レコードの検索>レコード内のテキストの検索
https://help.claris.com/ja/pro-help/content/finding-text.html
(2022-04-14閲覧)

FileMaker Pro 19 ヘルプ: 関数リファレンス>テキスト関数>Exact関数
https://help.claris.com/ja/pro-help/content/exact.html
(2022-04-14 取得)

FileMaker開発記事

葬儀システム

葬儀プランを構成する複雑な商品・サービスのすべてをシステム上で一元管理。受付から施工・請求までスムーズに対処できます。タブレット活用により、誰でも簡単にプラン見積が可能に。

受発注システム [EC-CUBE連携]

受発注業務をEC-CUBEと連携する事により、顧客情報と受注情報それぞれの入力を自動化。その後の各種事務手続(伝票作成・郵送業務・売上レポート作成等)すべても同時に効率化するツールです。

顔パス受付システム

AIサーマルカメラとFileMakerとの連動による新型受付システムです。
顔認証で体温測定と受付を同時に完了、会員登録の手間も不要に。学習塾などでは入退出時に親へメール自動送付サービスもつけられます。

マイページ機能

FileMakerとWebサイトとの連携で、顧客との円滑なやり取りが可能となるほか、業務効率の改善にも繋がります。

その他の記事

GetValue について

GetValueは、改行で区切られた値の一覧から、指定する行番号の値を返してくれる関数です。

SerialIncrementについて

今回は、指定された値に含まれるテキストと数字の組み合わせを指定された量だけ数字を増分して返す、SerialIncrementについてです