新・ファイルメーカーの使い方を覚えたいあなたの為のブログ【データを表示する機能】
2019年05月10日 10:39 AM
FileMaker 17
本記事はFileMaker 17、18 の記事です。
最新バージョンFileMaker 19 はこちら
FileMaker Pro Advanced(ファイルメーカー)の使い方7回目。
今回は、「データを表示する機能」ということで、
・対象レコード
・関連レコード
・グローバルフィールド
・基本的な検索方法
の4つをご紹介したいと思います。
これはシリーズで連載しています。
①データを入力する器を作成する機能 V15|V17|V18|V19
④データを変更する機能 V15|V17|V18|V19(入力を補助する機能をプラス)
⑤データをインポートする機能 V15|V17|V18|V19
⑥データをエクスポートする機能 V16|V17,18|V19
⑦データを表示する機能 V16|V17,18|V19 ←今回はここです
⑧データを表示する画面を作成する機能 V16|V17,18|続編(V19)
⑪処理を自動化する機能 V17,18|スクリプトトリガ編(V19)
⑫セキュリティに関する機能 V17,18|FileMakerファイルの暗号化/通信の暗号化(V19)
◇対象レコード
FileMaker Pro Advanced でデータを表示する為には、表示したいデータを「対象レコード」または「対象レコードの関連フィールド」にする必要があります。
〇対象レコードについて
対象レコードとは何か?と質問されたとき、まずお伝えするのが
「ここの左側の数字の数だけ、今表示できるレコードがあるんですよー」ということです。
表形式で見てみると、もう少しわかりやすいかもしれません。
この状態のとき、全レコード数は3件、対象レコード数も3件です。
しかし検索をして絞り込むと、
このように表示が変わり、全レコード数が3件、対象レコード数が1件、と表示されます。
対象レコードでなくなってしまった2件は、画面には表示されません。
対象レコードをもう少し掘り下げていきたいと思います。
FileMakerカスタムAppでデータを表示する為には、
・テーブル
・レコード
・テーブルオカレンス
・レイアウト
という4つの機能をつかう必要があります。
第一回目で書いた通り、ファイルを作成した時点で
・テーブル
・テーブルオカレンス
・レイアウト
については1つずつ作成されますので、概念がわからなくてもFileMakerプラットフォームで開発をすることは可能なのですが、テーブルが2つ以上あるような複雑なシステムを作成するにあたっては、ぜひそれぞれの違いと役割を把握して頂きたいなと思います。
○テーブルについて
テーブルについては、第一回でも書きましたが、
メニューバーの【ファイル】から【管理】→【データベース】→【テーブルタブ】で確認できる、1行1行のことです。
この画像だと、
・連絡先
・住所
・電話番号
・電子メールアドレス
・対応履歴
という5つのテーブルが存在しています。
テーブルを先に作ることで、その中に「フィールド」や「レコード」を登録できます。
先にエクセルで「シート」を作成してから、その中に「列」や「行」をつくる、という感覚と似ています。
○テーブルオカレンスについて
新しいテーブルが作成されると、テーブルオカレンスも自動的に作成されます。
自動的に作成されたテーブルオカレンスの名前はテーブル名と同じものが付けられているため、
テーブル=テーブルオカレンスと勘違いしてしまいがちですが、明確に違うものであると理解してください。
テーブルオカレンスは、メニューバーの【ファイル】から【管理】→【データベース】→【リレーションシップタブ】で確認できる、四角いかたまりの1つ1つの事です。
この場合、テーブルオカレンスは5つある状態です。
テーブルオカレンスは左下の追加ボタンや複製ボタンで、増やしていく事が出来ます。
例えば連絡先を複製した場合、テーブルオカレンスは6つになります。
しかし、テーブルタブに戻ると、テーブルの数は変わっていません。
テーブルはあくまでもデータの器であるため、レイアウトや計算式、スクリプト、そしてリレーションシップでは、直接テーブルを指定することはできません。
そこで登場するのがテーブルオカレンスです。テーブルオカレンスとは、リレーションシップグラフ上にテーブルを仮想化して表示したものです。
FileMakerでは、このテーブルオカレンスを通して実データとアクセスが可能になります。
レイアウト、計算式、スクリプト、リレーションシップなどの設定は、テーブルに対して直接行うのではなく、このテーブルオカレンスに対して行います。
そのテーブルオカレンスが、どのテーブルを指定しているかは、テーブルオカレンスの上でダブルクリック、またはテーブルオカレンスの左上にカーソルを合わせることで確認できます。
テーブルオカレンスは、一つのテーブルに対していくつでも作成することができますし、名前も処理内容が理解しやすいものに変更することができます。
○レイアウト
テーブルに登録されたレコードを表示するためには、レイアウトを作成しなければいけません。
レイアウトモードに切り替えて、鉛筆マークの部分をクリックすると、指定されているテーブルオカレンスを確認/変更することができます。
このレイアウトでは、「連絡先」のテーブルオカレンスを指定しています。
○テーブル/テーブルオカレンス/レイアウトの関係
レイアウトは、必ず1つのテーブルオカレンスを指定しています。
テーブルオカレンスは、必ず1つのテーブルを指定しています。
この関係により、レイアウトにどのテーブルの情報を表示するかが決まっています。
この「連絡先詳細」レイアウトが指定しているテーブルオカレンスが「連絡先」であり、
「連絡先」のテーブルオカレンスは「連絡先」のテーブルを指定しているんだな!
ということが分かって初めて、「連絡先テーブルには3件登録されていて、現在3件表示されている」ということが理解できるというわけです。
◇関連レコードについて
次は関連レコードの概念についてお伝えしたいと思います。
ざっくりいうと、関連レコードとは「対象レコードに関連しているレコード」のことです。
図のように、連絡先テーブルと対応履歴テーブルが、「連絡先コード」でリレーション設定されていたとします。
それぞれの「連絡先コード」を見比べることで、誰に対する履歴なのかを判断することができます。
この場合、「青山南」さんの関連レコードは、対応履歴テーブルの2行目と3行目、ということになります。
どのようにFileMakerで関連(リレーションシップ)を設定するかについては、下記のブログをご参考下さい。
◆難しいことは考えず、とにかくFileMakerでポータルを使ってみよう!
関連レコードは、レイアウト上にフィールドとして配置したり、ポータル機能をつかったりすることで、画面上に表示することができます。
◇グローバルフィールド
さて、ここまで「対象レコードまたは関連レコードでないと、データは表示できません!」と書いてきたわけですが、1つだけ例外があります。
それが「グローバルフィールド」というものです。
グローバルフィールドとは、「グローバル格納」が設定されたフィールドのことで、ファイル内のすべてのレコードで共通に使用される単一の値が保存されます。
このグローバルフィールドの場合、値が1つしか格納されないという特性があるため、リレーションがないテーブルオカレンスのフィールドであっても、値を表示/編集することが可能です。
■FileMaker ヘルプ 【グローバルフィールド (グローバル格納を使用するフィールド) の定義】
https://fmhelp.filemaker.com/help/18/fmp/ja/index.html#page/FMP_Help%2Fglobal-fields.html
◇基本的な検索方法
一番シンプルなFileMakerプラットフォームでの検索方法について、お伝えいたします。
• 「検索」ボタンを押して検索モードにする
• 画面に表示されているフィールドに検索条件を入力する
• 「検索実行」ボタンを押して検索する
以上3ステップになります!とても簡単ですね!
…というだけでは、あまりにも簡素ですので、
便利な検索機能について、一部ご紹介したいと思います。
○AND検索
例えば 「個人の東京都のお客様」を検索したい、というような場合、
次のように入力して頂くことで検索が可能です。
1つの検索条件の中に、条件を複数入力するとAND検索となります。
○OR検索
例えば、「神奈川と東京のお客様」を検索したい、というような場合、
次のように入力して頂くことで検索が可能です。
「新規検索条件」を押して検索条件を追加し、別々の検索条件の中に条件を入力することでOR検索となります。
○AND検索とOR検索
例えば、「東京の個人のお客様」と「神奈川の個人のお客様」を検索したい、
というような場合、次のように入力して頂くことで検索が可能です。
AND検索とOR検索を組み合わせることで、より高度な検索が実現できます。
○検索演算子
FileMakerプラットフォームには、便利な検索演算子が用意されています。
ぜひご活用頂ければと思います。
○除外検索
除外検索をする場合、ステータスツールバーの「一致するレコード:」の設定を「除外」に指定します。
○対象レコードの絞り込み
先に1回検索してから、絞り込みをかけることも可能です。
• 「検索」ボタンを押して検索モードにする
• 画面に表示されているフィールドに検索条件を入力する
• メニューバーの「検索条件」から「対象レコードの絞り込み」を選択して実行する
上記の3ステップで、絞り込み検索が可能です。
○検索の解除
検索をした後に、全レコードを表示するには、ブラウズモードで「すべてを表示」のボタンを押します。
既に全レコードが表示されている場合には、ボタンはグレーアウトしていて押すことができません。
いかがでしたでしょうか。
どの項目も奥が深く、なかなかブログで紹介しきれない機能ではあるのですが、
それぞれの機能の概要について、理解を深める手助けになれればとても嬉しいです。
次回は、「データを表示する画面を作成する機能」についてご紹介します。