新・ファイルメーカーの使い方を覚えたいあなたの為のブログ【データを表示する機能】

2019年05月10日 10:39 AM

FileMaker 17


本記事はFileMaker 17、18 の記事です。

最新バージョンFileMaker 19 はこちら

FileMaker Pro Advanced(ファイルメーカー)の使い方7回目。

今回は、「データを表示する機能」ということで、
・対象レコード
・関連レコード
・グローバルフィールド
・基本的な検索方法

の4つをご紹介したいと思います。

これはシリーズで連載しています。

①データを入力する器を作成する機能 V15V17V18V192024

②データを登録する機能 V15V17V18V19

③データを消去する機能 V15V17V18V19

④データを変更する機能 V15V17V18V19(入力を補助する機能をプラス)

⑤データをインポートする機能 V15V17V18V19

⑥データをエクスポートする機能 V16V17,18V19

⑦データを表示する機能 V16V17,18V19  ←今回はここです

⑧データを表示する画面を作成する機能 V16V17,18続編(V19)

⑨画面を印刷する機能 V17,18続編(V19)

⑩データを共有する機能 V17,18V19

⑪処理を自動化する機能 V17,18スクリプトトリガ編(V19)

⑫セキュリティに関する機能 V17,18FileMakerファイルの暗号化/通信の暗号化(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ステップで、絞り込み検索が可能です。

○検索の解除
検索をした後に、全レコードを表示するには、ブラウズモードで「すべてを表示」のボタンを押します。

既に全レコードが表示されている場合には、ボタンはグレーアウトしていて押すことができません。

いかがでしたでしょうか。
どの項目も奥が深く、なかなかブログで紹介しきれない機能ではあるのですが、
それぞれの機能の概要について、理解を深める手助けになれればとても嬉しいです。

次回は、「データを表示する画面を作成する機能」についてご紹介します。