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

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

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

You are not logged in.

Announcement

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


#1 2019-07-17 19:15:08

mt
Guest

最新日付を取得したい

最近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

良い方法があればご教授ください。
よろしくお願いします。

#2 2019-07-17 22:19:26

Hiro
Member

Re: 最新日付を取得したい

>#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

#3 2019-07-18 08:59:05

チポ
Member

Re: 最新日付を取得したい

テーブルB::最終作業日
の計算式を単に
  Max ( テーブルC::作業日 )
でいいのでは。

もう一つ、
リレーションの設定で、テーブルC::作業日の降順ソート指定をすれば、
  テーブルC::作業日
だけでいいですね。

Offline

#4 2019-07-18 11:56:30

mt
Guest

Re: 最新日付を取得したい

チポさん、Hiroさん、ご回答ありがとうございました。
チポさんの方法でうまくいきました。
MAX関数がうまくいかないと思っていたら、計算結果の表示方法が日付になっていなかったことが原因でした。

また機会がありましたらよろしくお願いいたします。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 507.19 KiB (Peak: 518.38 KiB) ]