簡単な構築(紐付け)
統合のオプション
この「簡単な統合」は誰のためのものか
この簡易版は、カレンダーを別のファイル、つまりソリューション中の2つめの.fp7ファイルにしておきたい方のためのものです。すぐに使う必要がある場合や、カレンダーのレイアウトのルック&フィールを大きく変える予定がない場合には、便利な方法です。
カレンダーをもっと完全にソリューションに統合したい場合は、こちらの手順に従ってカレンダーのレイアウトとスクリプトを自分のファイルにペーストしてください。
取りかかる前に、統合が完了するまでの全体の流れを紹介した短い動画(英語)をご覧になれます。わずか10分間の動画です。Quick Integration Video.
ステップ・バイ・ステップの手順:簡単な統合
1. 準備をする
バックアップは忘れないでください。
「SeedCodeCalendar.fp7」を、一緒に使うファイルと同じフォルダに移動します。カレンダーのファイルの名前を変更したい場合は、ここで変更します。
ここで解説する手順は、カレンダーに表示したいレコードを保存するテーブルがすでにあると仮定しています。テーブルがまだなければ、シードコードカレンダーの「SampleEvents」テーブルを自分のファイルにペーストし、以下の手順2は省略してください。
カレンダーに表示したいテーブルが複数あるかもしれません(または1つのテーブルに複数の日付フィールドがあるかもしれません)。現時点では、それは心配ありません。ひとつのテーブル/フィールドを設定して動作するようになってから、イベントの追加のソースを構成できます。
2. フィールドの定義
「SeedCodeCalendar.fp7」を開きます。「ファイル」メニューの「管理」から「データベース」を選択し、「データベースの管理」ダイアログの「フィールド」タブを選択します。そして「SampleEvents」テーブルを選択します。2つのフィールドをここからコピーし、自分のファイルに追加します。FileMaker Pro Advancedを使っていれば簡単です。次の2つのフィールドをコピーし……
- z_sc_TimestampEndCalc
- z_sc_TimestampStartCalc
……自分のファイルにペーストします。 ペーストしたら、それぞれの定義を編集します。タグ(「/*」と「*/」)ではさまれた「コメント」を削除します。また、計算式のLet文で、使用される「DateStart」や「TimeStart」などのフィールドにあたる既存のフィールドを選択します。
既存のソリューションには、終了日のフィールドがないかもしれません。次のステップで取り上げる、時刻のフィールドもないかもしれません(開始時刻と終了時刻)。最も簡単なのは、これらのフィールドを既存のイベントのテーブルに追加することです。こうすることで、統合が簡単になり、複数の日にわたるイベントも使えるようになります(イベントに時間を使用しない場合や1日を越えるイベントは扱わないようにしたい場合には、新たに作成したフィールドに対して自動入力の計算式が使えば必ず空欄にできることに注意してください)。
新規フィールドを作る場合は、日付のフィールドのタイプは「日付」に、時刻のフィールドのタイプは「時刻」にしてください。
FileMaker Pro Advancedを使っていない場合は、これらのフィールドの定義をコピーし、自分のファイルでフィールドを注意深く作成します。どちらのフィールドも、計算結果を「数字」にします。
3. リレーションシップグラフ
「SeedCodeCalendar.fp7」に戻ります。もう一度、「ファイル」メニューの「管理」から「データベース」を選択し、「データベースの管理」ダイアログの「リレーションシップ」タブを選択します。
グラフ中の「SampleEvents」テーブルオカレンスをダブルクリックします。「データソース」の横のポップアップメニューをクリックし、リストから「FileMakerデータソースの追加」を選択します。次に開くダイアログで、自分のファイルを選択します。
これで、自分のファイルのテーブルがすべて見えます。カレンダーに表示したいレコードのあるテーブルを選択します。「テーブルを指定」ダイアログの一番下にある「名前」を「SampleEvents」に戻します(この名前は後で変更できます)。そして「OK」をクリックします。これで、カレンダーのイベントのテーブルを自分のファイルのイベントのテーブルに「ポイント」しました。最終的には「SeedCodeCalendar.fp7」の「SampleEvents」テーブルは削除できますが、まだ削除しないでください。次のステップで必要になります。
イベントが連絡先にリンクされている場合、カレンダーにある「SampleContacts」テーブルオカレンスでも同じようにできることに注意してください。テーブルオカレンスをダブルクリックし、ファイルを選択して(データソースのリストが表示されます)、自分のファイル中の連絡先のテーブルを選択します。「SampleEvents」と「SampleContacts」の間に、自分のファイルでこの種のリレーションシップに使われるのと同じ一致フィールドで、リレーションシップを作成します。
4. レイアウト Part 1:フィールドの割り当て
「SeedCodeCalendar.fp7」の「Source No 1」レイアウトに切り替え、レイアウト上の指示に従ってフィールドをあなたのイベントのテーブルの関連するフィールドに割り当てます。「Summary」は、ここではあなたのイベントのタイトルなどのシンプルなフィールドに割り当てます。実際に使ってからこのステップに戻り、「Summary」を複数行のイベントの表示の作成に割り当てるなど、さらに面白い使い方をしてみてください。
5. レイアウト Part 2: Event Details
「SeedCodeCalendar.fp7」の「Event Details」レイアウトを開きます。このレイアウトを編集して、ここにあるフィールドが自分のフィールドをポイントするようにします。「繰り返し」ボタン、その下の「繰り返しの一覧を表示」ボタン、一番下の「閉じる&カレンダー再表示」の大きなボタンの3つのオブジェクトは、このままにしておいてください。後でこのレイアウトに戻って編集できますが、この時点では「サマリ」、「日付」、「時刻」のフィールドを、自分のイベントのテーブルの関連するフィールドに一致させるだけです。
後でここに戻り、自分のファイルの関連レコードにジャンプするボタンや、関連する連絡先にジャンプするイベントを追加できます。
6. これで完了です
カレンダーを再描画すると、自分のイベントが表示されます。簡単です。
ご活用ください!
もっと使いこなす
最終的には、ステップ5から「Event Detail」レイアウトに戻って修正したり、ファイルによってはイベントの色分けを考えたりしたくなるでしょう。「Load Calendar Settings - On Startup --- Edit Configuration Here ---」スクリプトを読み、必要に応じて変更してカレンダーのデフォルトの設定をいろいろ変えたいとも考えるでしょう。
私たちの統合の動画を観た方なら、連絡先テーブルのレコードと統合し、連絡先のレコードに「次に連絡する日付」というフィールドがあったのをご覧になったかと思います。このような統合時、カレンダーの「新規」ボタンのつじつまが合わなくなってしまうことがあります。この場合、「新規」は新規連絡先を作ることになるでしょう。そうしたいこともあるでしょうが、おそらくは連絡先に対する新しい「アクション」を作りたいはずです。このような例では、連絡先のファイルにアクションまたはイベントのテーブルを追加し、そのテーブルを連絡先にリンクして目的を果たすほうがよいでしょう。シードコードカレンダーから「SampleEvents」テーブルにペーストするのは、このようにするための出発点です。
どのイベントでも、「Source No 1 」や「Event Detail」に割り当てたレコードの種類を考慮しましょう。アクションやイベントのテーブルが必要かもしれないと思われる場合は、そのテーブルをこれから追加する自信をあなたは身につけているはずです。
同時に複数のカレンダー、すなわち複数の「ソース」を使えることも忘れないでください。連絡先のレコードのフィールドの一部とイベントのテーブルのカレンダーを利用できます。「複数のソース」を読んで詳しく理解してください。