3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FileMakerでリレーションによるレコードの自動作成

Last updated at Posted at 2018-03-15

#FileMakerでリレーションの設定によってレコードを自動的に作成する

FileMakerでリレーションシップの設定時に「このリレーションシップによるレコードの作成を許可する」機能を利用して、テーブルに新規レコードを作成する方法を説明します。

下記公式サイトに記載があります。
FileMaker13ヘルプ
http://www.filemaker.com/help/13/fmp/ja/html/relational.11.13.html
FileMaker16ヘルプ
https://fmhelp.filemaker.com/help/16/fmp/ja/index.html#page/FMP_Help%2Fcreating-relationships.html%23

今回は、「日記」をイメージして作成を進めます。

##メインのテーブルとレイアウト
メインのテーブルとレイアウトを用意します。
q002-01.png
テーブル名とレイアウト名は、「test002」
フィールド名は、「day」
タイプは「日付」

入力画面となるので、レコードを1つ作っておきます。

##日記用のテーブル
次に日記用のテーブルを用意します。
q002-02.png
q002-03.png
テーブル名とレイアウト名は、「diary」
フィールド名は、「day」「diary」
タイプは「日付」「テキスト」

##リレーションの設定
次にリレーションの設定を行います。
q002-06.png
まず、オカレンス(テーブルオカレンス)「test002」の「day」とオカレンス「diary」の「day」に「=」でリレーションを設定。
設定したリレーションをダブルクリックして、リレーションシップ編集を開き、「このリレーションシップによるレコードの作成を許可する」にチェックを入れ、「OK」を押下。

##入力用レイアウトを編集
続いて、入力用のレイアウトに入力欄を設定して行きましょう。
q002-07.png
レイアウト「test002」へ、関連テーブル「diary」から「diary」フィールドを配置します。

次に、
q002-08.png
「day」フィールドにインスペクタから「ドロップダウンカレンダー」と「カレンダーの表示切替アイコンを表示」を設定

最後に、
q002-09.png
レイアウト「test002」へ配置した、関連テーブルの「diary」のサイズを調整し、インスペクタから、次の場合にオブジェクトを隠すに「IsEmpty(test002::day)」と設定します。
この設定は、dayが空の時にdiary欄を非表示にする設定です。

以上で完成です。

##完成レイアウト
q002-10.png

実際に、日付をドロップダウンカレンダーから選択し、diary欄に何か入力してみてください。
diaryに何か入力されていれば、日付を変更すると、対応した日のdiaryが表示されるハズです。

###diaryテーブルを確認
q002-11.png
「diary」テーブルにレコードが作成され、日付毎に保存されているのが確認できると思います。

##最後に
今回は、リレーションシップを活用し、関連テーブルに、自動的にレコードを作成する方法を紹介致しました。
dayを空にした状態で、diaryを入力して、レコードを確定すると、エラーになりますので、今回は、dayが空の場合に入力欄を非表示に致しました。
※エラー内容は、「day」に有効な値が入力されていないため、このフィールドを修正することができません

以上です。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?