FileMakerルーキーズ会#24 フィードバック(詳細画面レイアウトをつくる際の注意ポイント|ポータルのフィルタを知りたい|文字列検索の機能(While関数)を拝見|スクリプトとWhile関数のループの違い)
◆開催日時:2021/12/12(日) 10:10-12:10
◆参加者:現地2名+オンライン4名。[初参加 2名]
◆ルール:可能な限り置いてけぼりにしないこと
【本文の前に次回のお知らせ】
次回のFMルーキーズ会は「FileMakerルーキーズ勉強会」という名前で年明け2022年1月の第2日曜日、1月9日(日) 10:10-12:10(オープン10:00)を予定しています。connpassのイベントページに追加されたらご参加表明よろしくお願いします↓
connpassイベントページ ※登録も参加も無料です
https://fm-rookies.connpass.com/event/
「メンバーになる」にしておくと、新しいイベントが用意できた際に案内メールが届きます♪
☆この記事内容が難しいと感じる方は、逆に言えば100%参加対象です♪
◆フィードバック
☆【抽選トピック】詳細画面レイアウトをつくる際の注意ポイント
☆【トピック1】ポータルのフィルタを知りたい
☆【トピック2】文字列検索の機能(While関数)を拝見
☆【トピック3】スクリプトとWhile関数のループの違い
☆【抽選トピック】詳細画面レイアウトをつくる際の注意ポイント
今回のアイスブレイク抽選トピックは、MasterBook初級編(P205 )の「詳細画面を作る」という箇所が当りました。
レイアウトの作成はおおむね皆さん作っていると思いますので良しとして、ある箇所に着目することにしました。
「今回は使わずTOを新しく作ります」
という箇所です。*TO・・・テーブルオカレンス
レイアウトを新たに作る際、デフォルトで作られたTOではなく別で新しく作ったTOを割り当てよう、ということがMasterBookでは演習として紹介されています。
ここだけ切り取ってしまうと問題がありそうに思えました。
初心者の方はもしかしたら「レイアウトを作るには新たにTOを作るんだな」と勘違いしたり、あるいは新たなTO作成によって混乱する恐れがあるかもしれないと思ったのです。
同じ「タスク」テーブルがデータの元なのに、TOが違うというのは戸惑うことはないでしょうか。例えばこんな戸惑いも考えられます。
演習の、新たに作った「タスク管理」TOを割り当てたレイアウト。このレイアウトのフィールドをコピーして、「タスク」TOのレイアウトに貼り付けます。ブラウズモードで見てみると <非関連テーブル> になってしまうのです。
テーブルとTO(テーブルオカレンス)のことがよく分かっていないうちにこのような現象が起きると、頭の中で小さくはないパニックが引き起こされそうです。。
MasterBookを執筆された方も「どう伝えればいいか」できっとご苦労されたとお察しします。この辺の解説は難しいところですが、今後のより良い内容に期待したいと思います。
【トピック1】ポータルのフィルタを知りたい
初参加のSさんから挙げて頂いたトピックです。ポータルのフィルタがよく分かっていないというお悩みです。
その前にまずポータルというのを分からないといけないので、FileMakerのご経験が豊富なMさんに簡単に解説して頂きました。Mさんは初参加にもかかわらず僕のユルい無茶振りに快く応えて頂き、ありがとうございました^ ^
その流れで、フィルタのほうも実に分かりやすく解説して頂きました。
フィルタは、ポータル設定の「ポータルレコードのフィルタ」で計算式を入れます。
「説明 = 検索」というシンプルな計算をまずは試します。フィルタを知るには、まずはシンプルな計算で試すのが良いと改めて気づけました。
ポータルに表示されていた数件のレコードが・・・
検索フィールドに入力した「あいうえお」と一致したものだけ表示されるようにフィルタがかかりました。
この仕組みが分かれば、PatternCount関数などを使った絞り込みのフィルタにもトライできるようになると思います。例えば「あい」という文字が入ったレコードだけを表示するには「PatternCount ( 説明 ; "あい" )」のように使えば出来ると思います。
フィルタが使えるようになると制作も楽しくなってきますね^ ^
(ただ、レコード数が多いときなど表示に時間がかかる場合があるのでフィルタは決して万能ではありません。)
【トピック2】文字列検索の機能(While関数)を拝見
Yさんが前日に作ったという、「出現しない検索後リスト」なる機能を見せて頂けるということで皆んなで拝見しました。
検索語リストに改行区切りで入れた文字が、本文に "含まれる" 場合には「検索結果リスト」に表示、本文に "含まれない" 場合には「出現しない検索語リスト」に表示されます。
これは喉から手が出るほど欲しいと思う方はたくさんいらっしゃるかもしれないですね。特定の業種にはなると思いますが。
この機能は、計算フィールドで「While関数」を使っているということですが、While関数はルーキーズ会ではなかなか難易度が高い関数です。スクリプトと違ってWhile関数はフィールドや変数などの計算式の中で使います。
計算内容については難しいので今日はそこに触れずに、While関数とスクリプトのループの違いに着目してみようということにしました。
【トピック3】スクリプトとWhile関数のループの違い
最も大きな違いは、ループを抜ける条件の考え方が180度違うという点です。
While関数は「ループを継続する条件」を "満たさなくなる" とループを抜けます。一方、スクリプトのループ終了ステップ(Exit Loop If)では「ループを終了する条件」を満たすとループを抜けます。
※2021.12.13一部の箇所に誤りがあり訂正しました。Yさん、ご指摘ありがとうございます<(_ _)>
◆While関数は「ループを継続する条件」を指定する。
「~i が10より小さい間、ループする」 ※~i は変数を表す
◆スクリプトのループは「ループを終了する条件」を指定する。
「$i が10より大きくなったらループを終了する」
いずれも、プログラミングの経験がないとなかなか手が出ないところかもしれません。もしほんの足がかりでも知りたいという時は、是非ご参加の上でトピックに挙げてください^ ^
FileMakerルーキーズ会は、人が集まれば開催し、集まらなければ開催しない、ゆるい朝活勉強会です。
2021年はお蔭様で毎月開催することが出来ました。ご参加頂いた皆さんにこの場を借りて感謝いたします!
【次回のお知らせ】
次回のFMルーキーズ会は「FileMakerルーキーズ勉強会」という名前で年明け2022年1月の第2日曜日、1月9日(日) 10:10-12:10(オープン10:00)を予定しています。connpassのイベントページに追加されたらご参加表明よろしくお願いします↓
connpassイベントページ ※登録も参加も無料です
https://fm-rookies.connpass.com/event/
「メンバーになる」にしておくと、新しいイベントが用意できた際に案内メールが届きます♪
☆この記事内容が難しいと感じる方は、逆に言えば100%参加対象です♪
※※※ ランチ打ち上げ ※※※
現地参加では恒例(?)のランチ打ち上げに行ってきました。カルディが展開している飲食店「HAGARE」(ハガレ)さんにて。
話題の多くはもちろんFileMakerのことですね^ ^
僕はケイジャンチキンプレートをオーダー。肉が柔らかく良い味付けで美味しかった!グラスワインがお安いとのことで、昼間から乾杯しました笑