初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2014-01-21 23:33:21

まりも
Guest

テーブルの持ち方について教えて下さい

お世話になります。
個人で旅行会社をやっています。

顧客テーブルを作成しました。
フィールドは、氏名、住所、電話番号、生年月日などの個人情報です。

さらに、ツアーに関するテーブルも作成したいのですが、テーブルの構成でつまづいているので相談にのって下さい。
ツアー名や行先、日程、旅程などの情報はまとめて1つのテーブルでいいと思うのですが
ツアーに参加するお客様の記録で悩んでいます。

グループ単位でのお申込みが多く、各ツアーに「代表者」と「同行者」のグループが複数存在します。
(お一人様のご参加もあります。)

この「代表者」と「同行者」の「1」対「多」の関係はどのようにテーブルを作成したらよいですか?

ツアー登録のテーブルに一緒に入力するとして、同行者を1行ずつ追加するのか、
繰り返しフィールドに入れた方がよいのか、どちらがよいですか?

同行者のデータは旅行のしおりなどを送付する際に、代表者様と連名でまとめて郵送したり、
参加確認の一覧表作成の際に使用する予定です。

最終的には、フォーム形式の個人情報を表示するレイアウト上でツアー名を選択すると、
その顧客が参加するグループ(代表者・同行者)が確認できるようにしたいです。

拙い説明で申し訳ありませんが、ご指導よろしくお願いします。

Windows7、FileMaker Pro12 Advanced

#2 2014-01-22 00:16:13

Shin
Member

Re: テーブルの持ち方について教えて下さい

ツアーテーブル、参加者テーブル、顧客テーブル、で構成するのが良いでしょう。
ツアー番号 = ツアー番号
         顧客番号  = 顧客番号
         代表者顧客番号
というフィールド構成でリレーションを組みます。
参加者テーブルは、ポータルで表示、顧客番号の検索は、電話番号、氏名(補助として生年月日)で行われると良いでしょう。

グループのテーブルをツアーと参加者の間に作り、代表者顧客番号でリレーションを張っておくのも便利かもしれません。

Offline

#3 2014-01-22 19:39:18

まりも
Guest

Re: テーブルの持ち方について教えて下さい

Shin様ありがとうございます。

すみません、せっかく教えていただいたご回答が私にはまだ難易度が高く、理解できません><

ツアーテーブルと参加者テーブルを教えていただいたフィールドでリレーションを設定しましたが、そこからどうしたらよいのかわかりません。

ツアー内容を入力するツアーテーブルのレイアウトから、
・ツアー名
・日程
・旅程
・代表者
・同行者  などを入力していきたいのですが、
「代表者」と「同行者」は顧客テーブルから検索をして、ポータルで表示した参加者テーブルに「ツアー番号」と一緒に登録していくという解釈で合っていますか?

「同行者」を繰り返しフィールドに収める方法しか思いつかなかったので、テーブルを参加者テーブルとに分けて、リレーションで表示をする方法が難しく、頭がまっしろの状態です。

厚かましいお願いですが、もう少し噛み砕いて教えていただけませんでしょうか。
申し訳ありません。
よろしくお願いします。

#4 2014-01-22 23:35:16

Shin
Member

Re: テーブルの持ち方について教えて下さい

顧客テーブルとのリレーションは省いておきます。
具体的には、
グループ毎の参加者ですが
ツアーテーブル    参加者テーブル
ツアー管理番号  = ツアー管理番号
g_代表者顧客番号 = 代表者顧客番号
というリレーションで、ツアー内のグループ毎の参加者が得られます。g_代表者顧客番号は、グローバルフィールドです。
この運用は、まず、代表者を入力しますが、顧客名簿から顧客番号をコピーしてきて、g_代表者顧客番号に設定します。次に、このリレーションを通して、参加者テーブルの顧客番号に、コピーしてきた顧客番号をコピーします。(リレーションを通してレコードを作成)
同行者は、g_代表者顧客番号はそのままで、参加者テーブルの顧客番号に、リレーションを通して顧客番号を ペーストします。
この繰り返しです。

次に、参加者名簿は、
ツアーテーブル   参加者テーブル
ツアー管理番号 = ツアー管理番号
というリレーションで得られます。
参加者テーブルの中で、「代表者」と言う計算フィールドを作り、代表者顧客番号 = 顧客番号 という式を設定しておくと、代表者は1が表示されます。

https://dl.dropboxusercontent.com/u/926 … 20.fp7.zip

Last edited by Shin (2014-01-23 12:15:16)

Offline

#5 2014-01-23 19:42:49

まりも
Guest

Re: テーブルの持ち方について教えて下さい

Shin様ありがとうございます。

サンプルまで作っていただきまして、ありがとうございます!
実は、昨夜お返事をいただいた時点では、まだまだ理解ができず、途方に暮れていました。
重ねて質問するのもあまりにも失礼かと思い、もうあきらめようと思っていたところでした。

あきらめず、今から作っていただいたサンプルで勉強させていただきます。
ちょっと時間がかかると思いますが、頑張ります。

取り急ぎお礼まで。
本当にありがとうございました!

#6 2014-01-27 06:18:32

まりも
Guest

Re: テーブルの持ち方について教えて下さい

Shin様、お礼が遅くなりましたが、サンプルのお蔭で理想通りのものができました!
最初はテーブルの構造やリレーションをすぐに理解できなかったのですが、リレーションの画面やスクリプトなどを全部印刷してみて、にらめっこしながらようやく理解できました。

Shin様のサンプルを参考に、新たにリレーションを作って、参加履歴をポータルに表示して、選択した履歴からツアー詳細に飛べるようにもできました。

参考書を読んだだけでは、リレーションを理解できず、一人では何年悩んでも辿り着けなかったと思います。
サンプルのお蔭で理解できたことが嬉しくて、本当に感謝しています。
ありがとうございました!

またつまづいた時にはこちらの掲示板で相談させていただきます。
今後ともどうぞ宜しくお願いします。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 10 queries executed - Memory usage: 518.33 KiB (Peak: 523.23 KiB) ]