FIleMaker は FileMaker 社の商標です。本文中に登場する製品等の名称は、各社の商標です。また、本文中の表記 を省略させていただきます。また、この本を読んで作成したデータベースにおいて起きたトラブルに関しては当方で は責任を持ちませんので、あらかじめご了承のうえ、お読みください。また、本書作成上で内容に関して正確である ことを慎重に精査しておりますが、本書・サンプルファイルの不備で起きた損害やトラブル等は一切責任を負いませ ん。お使いの環境などによって変わる場合がありますのでご了承ください。 本書で書かれている情報は 2015 年 2 月現在の情報です。変更される場合がありますので、現在の情報を確認され るようお願いいたします。 基本的に環境として Windows を使用していることをご了承ください。しかし、FileMaker 上での操作はほとんど OSX でも変わりはありません。OSX をお使いの方でも FileMaker の使い方は問題なく学ぶことができます。
はじめに
まずは本書を手に取ってくださりありがとうございます。 本書は初心者から中級者程度の方を対象にした FileMaker の逆引きマニュアルです。さまざまな事例から やりたい方法が見つかる実務的な本となっております。 業務改善を目指し FileMaker に行きつかれた方はおそらく、1から FileMaker を学びたいというよりもす ぐにでもソリューションを作っていきたいと考える方が多いのではないかと思います。本書はそんな方が 手元に置きながら、ソリューション開発を進める手助けをする本として作成いたしました。本書を有効的 に使っていただき、業務改善を実践できるよう願っております。 本書は一通り、FileMaker Pro の機能に触れた方を対象にしている本です。ごくごく基本的な PC の操作 や FileMaker Pro の操作方法については触れていません。まだ一度も触れたことのない方は「あなたにもで きる FileMaker(ファイルメーカー)を使ったシステム開発初めてマニュアル」を合わせてご覧ください。 本書と同じく DLmarket にてご購入いただけます。 2015 年 3 月4
Part1
1-1 操作ログを記録する --- 8 1-2 郵便番号など決まったフォーマット以外入力できないようにする ---10 1-3 レコードのデータを月別で区分けするためのフィールドを作成 ---11 1-4 レコードのデータを年度で区分けするためのフィールドを作成 ---12 1-5 昨年同日の売上を取得したい(リレーションで) ---13 1-6 入力時に一覧から選べるようにしたい(値一覧) ---15 1-7 入力時に一覧から選べるようにしたい(値一覧) テーブルの内容から選ぶ ---17 1-8 値一覧を並び替える ---18 1-9 場合によってリストが変化する値一覧(動的値一覧)を使う ---19 1-10 進捗が視覚的にわかるプログレスバーのようなものを作りたい ---21 1-11 進捗が視覚的にわかるプログレスバーのようなものを作りたい (フィールドの内容で動的に) ---23 1-12 数字の値の合計を集計したい(関連レコード) ---24 1-13 数字の値の合計を集計したい(レポートを使って) ---26 1-14 あるフィールドの値を入力すると 別のフィールドの値を自動で入力できるようにしたい ---28Part2
2-1 非関連テーブルのデータを取得する ---32 2-2 昨年同日の売上を取得したい(ExecuteSQL 関数) ---34 2-3 計算式・関数をテストしたい ---35 2-4 ひとつ前のレコードの値を取得したい ---36 2-5 文章などの一部分を抜き出す ---38 2-6 クロス集計を行う(リレーションを使う) ---39 2-7 クロス集計を行う(小計レポート+ ExecuteSQL 関数) ---42Part3
3-1 異なるテーブル間のデータを移動する ---46 3-2 別々の処理をスクリプト引数を使ってまとめる ---47 3-3 スライド風 ON OFF ボタンを作る ---48 3-4 FileMaker Server スケジュールで動くサーバサイドスクリプトを使いたい ---49 3-5 毎日○日に動くサーバーサイドスクリプト ---52 3-6 ポータルで利用する帳票で PDF にするページをレコード数によって変える ---53 3-7 ポータルで利用する帳票で印刷するページをレコード数によって変える ---545
3-8 メールを送りたい---55 3-9 デフォルトの検索モードを使わずに検索させたい ---57 3-10 あるフィールドの値を全レコード(対象レコード)で一括で変更したい ---59 3-11 疑似プッシュ通信の仕組みを作る ---60 3-12 対象レコード(検索条件)を共有する スナップショットリンク ---62Part4
4-1 数字を 3 ケタ区切りで表示したい ---66 4-2 表示される画面に合わせたガイドを表示したい ---67 4-3 テーマを使う ---69 4-4 オリジナルテーマを作る ---71 4-5 特定の条件時のみ見せる(隠す)オブジェクトを作る ---73 4-6 条件によってボタンを変える ---74 4-7 条件によって色が変わるボタン ---76 4-8 条件によってテキストカラーが変わるフィールド ---78 4-9 変数をレイアウト上に表示する ---80 4-10 フィールド内容をテキストとして表示する ---81 4-11 タブコントロールを使う(基本) ---82 4-12 選択肢によって表示されるフィールドを切り替える タブコントロール使用例 ---84 4-13 画像が一定時間で切り替わるスライドコントロール---86 4-14 普段は隠して必要な時だけ表示する ポップオーバーを使う ---88 4-15 FileMaker Pro のナビゲーションを無効にしてシステムらしくしたい ---89 4-16 円グラフを表示する ---90 4-17 折れ線グラフを表示する ---928
操作ログを記録する
シーン
1-1
FileMaker Pro にはデフォルトの機能として「誰が」「いつ」「どこのフィールドの値を」「変更した」といっ たいわゆるログを管理する機能がありません。この操作ログを記録する方法です。 フィールド定義 ログを監視したいフィールドがあるテーブルに適当な名前でログ記録用のフィールドを作成します。こ のフィールドのオプションを開き、計算値自動入力のダイアログを開きます。このオプションでは「既存 値を置き換えない」のチェックボックスを OFF にします。 計算式を設定 左図のように、計算 式を設定します。 変数に代入する値 は、 変 更 さ れ た と き にログを記録したい フィールドを設定しま す。 1 2 シーン 1-1 操作ログを記録する9
結果 ログを監視したいフィールドがあるテーブルに適当な名前でログ記録用のフィールドを作成します。こ のフィールドのオプションを開き、計算値自動入力のダイアログを開きます。このオプションでは「既存 値を置き換えない」のチェックボックスを OFF にします。 この方法では、スクリプトでの「フィールド設定」や全置換などでフィールドがユーザ によってアクティブにならない場合は、ログを記録しません。スクリプト等での入力な どを記録する場合は、計算式での Get(アクティブフィールド内容)や Get(アクティ ブフィールド)の代わりに監視したいフィールドを直接指定するなどの工夫が必要にな るでしょう。Point
3 シーン 1-1 操作ログを記録する10
郵便番号など決まったフォーマット以外
入力できないようにする
シーン
1-2
テキスト関数を使うことで、郵便番号などのフォーマットが決まっているデータを入力するときに入力さ れたデータがそのフォーマットにあっているかを確かめることができます。 郵便番号のフォーマット 1Position ( Self ; "-" ; 1 ; 1 ) = 4 and Length ( Self ) = 8
郵便番号のフォーマットはどこの地域でも同じなので、設定しやすいものになっています。ハイフンを入 れると 8 文字、そのハイフンは先頭の 3 文字と後半の 4 文字の間に必ず入るようになっています。 フィールドオプション 2 フィールドオプション「計算式で制限」に下記の計算式を設定します。 Position 関数はある文字がどこにあるかを 調べるテキスト関数です。これを使用すると 「-」がどこにあるかが分かります。これで、 必ず 4 つ目に入るハイフンを調べます。 また、ハイフンを含めて、8 文字と決まっ ているので、その文字数を調べます。 制限 3 フォーマットに合わない場合はこのダイアログが表示さ れます。また、カスタムメッセージを設定することでこの 文言を変えることも可能です。 また、この状態ではダイアログで「はい」をクリックす ると制限を無視できてしまうので、オプションで「データ の入力時にユーザによる上書きを許可する」のチェックを 外します。 シーン 1-2 郵便番号など決まったフォーマット以外入力できないようにする