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

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

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

You are not logged in.

Announcement

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


#1 2013-09-09 14:10:28

hitooooo
Member

2つのテーブルから、複数のリレーションを組む方法

こんにちは。 Win7 FMP12 ユーザーです。

リレーションの組み方を勉強中です。簡易版として次のような作業をしたいと思っていますが、4日間前に進みません。ヒント、アドバイス等、ぜひぜひよろしくお願いします。

2つのテーブルにおいて、複数条件リレーションを2種類組み、ポータルで自動入力させたいと思っています。
(具体的には「学生カルテ」と「教員カード」にリレーションを組み、「教員カード」に受講生一覧をポータルで出したいと思っています。これを最終的に学年ごとに作りたいのです、今は試作として2種類(リレーション2つ)で試しています。)

リレーショングラフで、テーブルを複製しリレーションを組みましたが、結果は二つのポータルで同じデータを出力する結果となり、うまく機能していません。
的確に状況を説明するのが難しくお分かりいただけるかどうか不安ですが、ヒントやアドバイスをいただけたらと思います。


【詳細】
テーブル…2つ
・学生個人カード  フィールド5つ
・教員個人カード  フォールド3つ

1つのリレーションは・・・
― ― ― ― ― ― ― ― ― ― ― ―
テーブル「学生個人カード」       テーブル「教員個人カード」
・学生名(テキスト)           
・科目Aの受講時期(日付)      =    科目Aの開講時期(日付)
・科目Aの担当教員(テキスト)    =    教員名(テキスト)
・科目Bの受講時期(日付)       
・科目Bの担当教員(テキスト)   
― ― ― ― ― ― ― ― ― ― ― ―
のように組み、フィールド「教員個人カード」に 学生名 をポータルで出力させています。


もう1つのリレーションは・・・
― ― ― ― ― ― ― ― ― ― ― ―
テーブル「学生個人カード」       テーブル「教員個人カード」
・学生名(テキスト)           
・科目Aの受講時期(日付)     
・科目Aの担当教員(テキスト)   
・科目Bの受講時期(日付)    =    科目Bの開講時期(日付)
・科目Bの担当教員(テキスト)    =    教員名(テキスト)
― ― ― ― ― ― ― ― ― ― ― ―
のように組み、フィールド「教員個人カード」に こちらも「学生名」 をポータルで出力させています。


長々とまどろっこしい説明でスミマセン。
顧客と担当従業員と商品などでおそらく一般的にこうした一覧をお使いなのだと思うのですが、作業が遅々として進みません。

アドバイス、よろしくお願いします。

Offline

#2 2013-09-09 14:18:35

旅人
Member

Re: 2つのテーブルから、複数のリレーションを組む方法

学年でポータルフィルタを設定するか、教員テーブルに学年の数だけグローバルフィールドを作って、
各々学生テーブルの学年とリレーションして学年の数分のポータルを作る。とか

Offline

#3 2013-09-09 16:58:48

hitooooo
Member

Re: 2つのテーブルから、複数のリレーションを組む方法

旅人さま ご助言ありがとうございます。

>学年でポータルフィルタを設定するか

科目Aには複数の学年が受講する可能性があるので、旅人さんの案だと・・・なのです。
そこで、科目担当教員 と 受講時期とをキーにして受講学生をポータルで出力しようと考えた次第です。

教員テーブルには 「教員名」 というフィールドが 1つなのでそこらへんがネックなんでしょうか???

Offline

#4 2013-09-09 17:44:12

チポ
Member

Re: 2つのテーブルから、複数のリレーションを組む方法

ポータルに正しく関連レコードが表示されない
が問題なのですか?


二つのテーブル間で複数のリレーションをする場合に注意が必要です。

参照するテーブルと参照されるテーブル(関連テーブルですね)とすると、
参照されるテーブルをコピーして、参照されるテーブルはデフォルトのまま使う様にします。

そのデフォルトのレイアウトで二つのポータルを表示できます。


これが回答なっていればいいのですが。。

Offline

#5 2013-09-09 18:09:18

旅人
Member

Re: 2つのテーブルから、複数のリレーションを組む方法

>ポータルで自動入力させたいと思っています。
>「教員カード」に受講生一覧をポータルで出したいと思っています。

ポータルに入力、表示のどちらですか?

Offline

#6 2013-09-09 18:48:08

yamato
Member

Re: 2つのテーブルから、複数のリレーションを組む方法

簡単にではありますが、学年うんぬんは抜きにして
試作段階までで、表示させたい事をファイルで作ってみました。

http://yahoo.jp/box/H0GW4Y

読み違えていたらすいませんが、こんな意図でしょうか。
おそらくはチポさんがおっしゃっている部分でひっかかっているような気がします

Offline

#7 2013-09-09 19:18:22

旅人
Member

Re: 2つのテーブルから、複数のリレーションを組む方法

学生テーブル側は1科目、1受講日を1レコードにすべきでしょう。

Offline

#8 2013-09-09 22:30:51

hitooooo
Member

Re: 2つのテーブルから、複数のリレーションを組む方法

旅人さま チポさま yamatoさま
ご親切に大変感謝しております!ありがとうございます。

============
17:44:12 (チポさま⇒hitooooo)

>二つのテーブル間で複数のリレーションをする場合に注意が必要です。
>参照するテーブルと参照されるテーブル(関連テーブルですね)とすると、
>参照されるテーブルをコピーして、参照されるテーブルはデフォルトのまま使う様にします。
>そのデフォルトのレイアウトで二つのポータルを表示できます。

⇒リレーションシップ編集で、学生テーブルにはどこにもチェックを入れないという意味でしょうか?
そのようにして試してみましたが、変化なしのようです。
意味を読み違えていますかぁ?


============
18:09:18 (旅人さま⇒hitooooo)
>>ポータルで自動入力させたいと思っています。
>>「教員カード」に受講生一覧をポータルで出したいと思っています。

>ポータルに入力、表示のどちらですか?

⇒ ポータルに表示(?)というのでしょうか。学生テーブルから自動に読み込んできて受講学生が見える形にしたいと思っています。
  正確な表現が分からず済みません!

============

18:48:08 (yamatoさま⇒hitooooo)

サンプルファイル、たいへんありがとうございます!
FMP12は職場で使っており、残念ながら今は開くことができない環境にいます・・・。
明日と明後日(9/9~9/10)も作業が出来ない環境なので、せっかく作って頂きましたが、9/11にチェックしたいと思います。
大変ありがとうございます。

=======
19:18:22 (旅人さま⇒hitooooo)
>学生テーブル側は1科目、1受講日を1レコードにすべきでしょう。

⇒ 確かに、そういう方法もありますね。「科目A_2013_教員A」ということですよね。
  目から鱗です。 しかし、実際は少人数のクラスなので、同名の科目で、同時期(同時刻)に
  複数の教員が別々に開講しているので、運用が難しそうです・・・。
  しかし、旅人さまの柔軟な発想に刺激を受けました!
=======
みなさまのご厚意に感謝です。
もし明日以降コメントを頂いても9/12までネット環境がございません。返信等が遅れてしまうことをお詫びしたいと思います。

Offline

#9 2013-09-09 22:52:39

hitooooo
Member

Re: 2つのテーブルから、複数のリレーションを組む方法

つたない説明で、分かりにくいかと思い、試作版をアップします。
もしお時間が許せば、ぜひご覧いただき、アドバイスをお願いしたいと思います。

このファイルはFMP11、win7で作成したものです。

http://yahoo.jp/box/YNJMbP

Offline

#10 2013-09-09 23:53:26

Hiro
Member

Re: 2つのテーブルから、複数のリレーションを組む方法

科目B系のリレーション設定が間違っています。
校正ファイルをアップしときましたのでご覧下さい。
「受講生一覧のリレーション01.fp7」→ http://yahoo.jp/box/VTmlxi

Offline

#11 2013-09-10 09:10:52

Shin
Member

Re: 2つのテーブルから、複数のリレーションを組む方法

2テーブルの校正ですので、少々無理があるのでは。
1講師は、複数の講座を持つのですよね。その講座のテーブルを作ります。
学生も、複数の講座を受けますね。このテーブルを作ります。つまり、

講師テーブル 講座テーブル 受講テーブル 学生テーブル
 講師番号 = 講師番号   学生番号 = 学生番号
        講座番号 = 講座番号   

というリレーション関係にしておけば、すっきりすると思います。
その構成で、講師テーブルにはポータルで講座情報、受講情報を表示させ、学生テーブルでは講座情報、講師情報を表示させます。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 8 queries executed - Memory usage: 546.37 KiB (Peak: 567.27 KiB) ]