みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
環境はWindows7 Professional 64ビット FileMakerPro11 Advancedです。
質問内容ですが、IDにて紐付けられている他のテーブルにある文字列を、抽出したいと考えておりますが、全くわかりません。
分かりやすく解説しますと、当方不動産のデーターベースを作成しておりますが、テーブルAに建物データー、テーブルBに部屋情報データ、を配置しており、テーブルAに物件IDを設けてテーブルBにも部屋IDを設けて紐づけております。
そこで、間取りの大きさを、以下①と②の、2種類に仕分けし、最小値 ”1R(オフィス)” 、最大値 ”2R(1LDK以上)” といった文字列を、テーブルAに、それぞれのフィールド(最小値および最大値)を設け、反映させたいと考えております。
①.1R(オフィス)
1R
1R+S
1K
1DK
②.2R(1LDK以上)
1LDK
1SLDK
2K
2DK
2LDK
2SLDK
3K
3DK
3LDK
3SLDK
4K
4DK
4LDK
4SLDK
例えば、
テーブルB
ID00001(レコード1)1R
ID00001(レコード2)1LDK
ID00001(レコード3)2LDK
ID00001(レコード4)1R
ID00001(レコード5)1R
ID00001(レコード6)1R
の場合、最大値は2R(1LDK以上)、最小値は1R(オフィス)と、テーブルAのフィールドへ反映させたいと考えております。
(例)
テーブルAの最小値フィールドに「1R(オフィス)」
テーブルAの最大値フィールドに「2R(1LDK以上)」
テーブルB
ID00002(レコード1)1LDK
ID00002(レコード2)1LDK
ID00002(レコード3)2LDK
ID00002(レコード4)1LDK
ID00002(レコード5)1LDK
ID00002(レコード6)1LDK
の場合、最大値は2R(1LDK以上)、最小値は2R(1LDK以上)と、テーブルAのフィールドへ反映させたいと考えております。
(例)
テーブルAの最小値フィールドに「2R(1LDK以上)」
テーブルAの最大値フィールドに「2R(1LDK以上)」
長くなりましたが、どうか、お詳しい方ご教示ください。よろしくお願い致します。
Offline
別テーブルを作り、
仕分けフィールドに
1R(オフィス)
を入力
間取りリストフィールドに
1R
1R+S
1K
1DK
と各間取りを改行で入力。
もう1レコードを作り同様に仕分け2の分を作ります。
このテーブルは2レコードのみです。
テーブルAで
List ( テーブルB::間取り )
という計算フィールドを作ります。
このフィールドと、上記の間取りリストフィールドとでリレーション
最小値フィールドの計算式
Case ( Count ( 別テーブル::仕分け ) = 2 ; GetNthRecord ( 別テーブル::仕分け ; 1 ) ; 別テーブル::仕分け )
最大値フィールドも同様に考えればいいです。
仕分けが三つ以上になると面倒になりますね ;;
Offline
チポ様
早速のご回答を誠に有難うございました。
ご教示いただきました手順にて試しましたところ、当方の希望通り、反映されましたが(最大値・最小値)、テーブルBの値を変更すると最小値フィールドおよび最小値フィールドの値が変更されません。
大変恐縮ですが、今一つアドバイスをいただけますと、幸いです。
どうか、よろしくお願い申し上げます。。
Offline
最大値・最小値
は計算フィールドとしていますか。
としても変わらないかな?
今検証できない・・
Offline
チポ様、早速のご連絡を有難うございます!
最大値・最小値は計算フィールドとしております。
当方でも現在、試行錯誤、あらゆる方法で試しております。
Offline
その①②のリストが広さ?の順に並んでいるのなら、1R〜4SLDKまで
1〜18までの通し番号を付けたらいいのでは?
Offline
【追記】以下、計算式を再度入力すると、テーブルBの値の最小値フィールドおよび最小値フィールドの値が正しく変化します。
Case ( Count ( 別テーブル::仕分け ) = 2 ; GetNthRecord ( 別テーブル::仕分け ; 1 ) ; 別テーブル::仕分け )
Offline
旅人様
ご教示有難うございます。試してみます。ご回答いただき、有難うございます。
Offline
違った。
そのリストをマスタにして①のレコードには1R、②のレコードには2Rと入れるだけ?
通し番号というか、順位が不要なのは
テーブルAの最小値フィールドに「1R(1R+S)」
テーブルAの最大値フィールドに「2R(3SLDK)」
などの表示が必要無い場合という意味で。
Last edited by 旅人 (2015-12-19 11:55:28)
Offline
旅人様
旅人様のアドバイスをもとに、試行錯誤しておりますが、初心者の故、わかりまん。。
大変恐縮ですが、宜しければ具体的な手順(設定・記述方法)をご教示いただけますと、大変に幸いです。
どうか、よろしくお願いいたします。
Offline
テーブルAでテーブルBのListを照合に使っているから、
再計算されないかと推測します。
例えば、
テーブルAで
IDを切り取り
レコード確定
IDにペースト
レコード確定
などとすると再計算されます。
これをスクリプトにして、テーブルBのトリガで実行させてみたらいかがでしょう。
もっといい方法有るかもです。。
今、検証できないのでアヤフやでごめんなさい、
試してみてください -_-
Offline
チポ様、旅人様、ご返信を有難うございます。いただきましたアドバイスをもとに、やってみます!
Offline
勝手にオマケを付けてしまいました。
判りにくい場合は「オマケ」の付いたフィールドやリレーションシップ内の
テーブルを削除して下さい。
Offline
旅人様
ご教示、誠に有難うございます。大変助かります!!
また、大変お手数をお掛け致しました。どうも有難うございました!
Offline
旅人様、チポ様
ご報告が遅れましたが、お二方のお蔭で、掲題の処理が出来ました。
教示いただき感謝しております。有難う御座いました。
Offline
Pages: 1
[ Generated in 0.011 seconds, 9 queries executed - Memory usage: 549.68 KiB (Peak: 570.59 KiB) ]