みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
使用環境 win10 FM18pro
連絡先というテーブルがあり、家族の連絡先を入れるフィールドが以下の通りあります。
家族名A 続柄A 連絡先A 優先順位A
家族名B 続柄B 連絡先B 優先順位B
家族名C 続柄C 連絡先C 優先順位C
と各々フィールドがあります…。
優先順位には1~3の数字を入力しています。
もちろん家族名C 続柄C 連絡先C 優先順位Cが優先順位1になる可能性もあります。
別のテーブルで優先順位が1のものだけを表示したい時の設定方法は何かありますでしょうか?
元の作り方に異常があるのは重々承知しております。
この状況で簡単に設定できる方法がありましたらお教えください。
もし難しい様なら家族連絡先テーブルを作成し本人のIDでリレーションを組み1レコード、1家族で作成しなおし再入力しようかと思います。
かなり膨大な量ですが…
家族 という情報を識別する情報はあるのでっすか。
Offline
家族 という情報を識別する情報はあるのでっすか。
ありません。続柄のみです。
ただ、本人情報の中に各々IDを振っているので、各家族にそのIDで紐づけることはできます。
家族名 というのは、どのような情報なのですか。具体的に(実情報でなくてもいいですが)各フィールドにはどのようなものが格納されているのですか。
Offline
各フィールド三つずつなんですよね。
ならば、ベタベタで、
家族名1位のフィールドの計算式
Case ( 優先順位A=1 ; 家族名A ;
優先順位B=1 ; 家族名B ;
家族名C )
で求められますね。
> 1レコード、1家族で作成しなおし再入力しようかと
ですね、このテーブルがいいでしょう。
再入力は必要ないですよ、インポート3回でレコードを作れますよ。
Offline
あぁ、フィールドがいっぱい、ですか。家族名は、家族としての名前かと思っていましたが、各々の名前なんでしょうね。
それぞれの家族を構成する人一人ごとに1レコードのテーブルを作り、1家族1レコードのテーブルと関連づけておくのがいいです。それでしたら、優先順位をつければ、そのリレーションのなかでソートできます。
Offline
テーブル再作成を検討しましたが、他部署でのリレーションの兼ね合いなど不具合があったため、case関数で対応しました。
ありがとうございました。
将来的に、いろいろ不具合が出てくると思います。一番面倒なのが、1世帯が分割するときです。
とりあえず、別のテーブルに名前などの個人の情報を移し、元のフィールドを計算フィールドにしてその情報を参照させるようにすると、情報の編集以外は全く同じように動きます。その状態から少しずつスクリプトをメンテナンスして、推奨される構造へ移行していけばいいでしょう。
Offline
Pages: 1
[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 513.08 KiB (Peak: 517.62 KiB) ]