みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
最近FileMakerを勉強し始めたばかりの初心者です。
いつもお世話になっています。
仕事のスケジュールを案件毎に管理するシステムを作っているのですが、
最新日付を取得するところで困っています。
テーブルA(顧客情報)→ テーブルB(案件) → テーブルC(作業日) とリレーションして関連づけています。
テーブルB(案件)に案件名を入れ、テーブルC(作業日)の日付フィールドに作業日を入力しています。
案件毎に複数日の作業日がある状態です。
テーブルA:田中さん │ テーブルB:案件1│ テーブルC:2019/7/1
テーブルA:田中さん │ テーブルB:案件1│ テーブルC:2019/7/2
テーブルA:田中さん │ テーブルB:案件2│ テーブルC:2019/7/3
テーブルA:田中さん │ テーブルB:案件2│ テーブルC:2019/7/4
という風だとして、
テーブルAのレイアウトにテーブルBのポータルを表示させた時に、各案件の最終日を取得したいです。
テーブルBに最終作業日というフィールドを作り、テーブルCの作業日フィールドの中から最新の日付を取得できればと思いますが、方法がわかりません。
[やりたいこと]
案件1 │ 最終作業日=2019/7/2
案件2 │ 最終作業日=2019/7/4
良い方法があればご教授ください。
よろしくお願いします。
>#1『テーブルBに最終作業日というフィールドを作り、テーブルCの作業日フィールドの中から最新の日付を取得』
「最終作業日」を計算フィールドとして、その式は、(計算結果:非保存の日付タイプ)
Let([
#SQL=
ExecuteSQL(
"
SELECT MAX(""作業日"")
FROM ""テーブルC""
WHERE ""案件""=?
"
; ""
; ""
; 案件
)
];
GetAsDate(#SQL) + 0
)
Last edited by Hiro (2019-07-18 02:37:19)
Offline
テーブルB::最終作業日
の計算式を単に
Max ( テーブルC::作業日 )
でいいのでは。
もう一つ、
リレーションの設定で、テーブルC::作業日の降順ソート指定をすれば、
テーブルC::作業日
だけでいいですね。
Offline
チポさん、Hiroさん、ご回答ありがとうございました。
チポさんの方法でうまくいきました。
MAX関数がうまくいかないと思っていたら、計算結果の表示方法が日付になっていなかったことが原因でした。
また機会がありましたらよろしくお願いいたします。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 507.19 KiB (Peak: 518.38 KiB) ]