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

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

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

You are not logged in.

Announcement

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


#1 2016-12-22 10:20:26

hijiri
Member

1対多になったデータの日付順ソートについて

環境 Win FM15

会費の支払い管理を行っています。
テーブル:利用者マスタ
テーブル:支払い履歴
キー:会員番号

会員一覧画面で直近の支払い日を表示させています。リレーションでソートしています。

現場からの要望で一覧画面で支払い日を降順昇順出来ないかとリクエストを受けています。

こういった場合は以下の方法で出来ています。
利用者マスタ一覧で支払い日付を持っている場合は、
スクリプト

IF[GetNthRecord(フィールド支払い日;1)<GetNthRecord(フィールド支払い日;Get(対象レコード数))]
    レコードのソート フィールド支払い日 降順
else
    レコードのソート フィールド支払い日 昇順
end if
レコード移動最初の

という具合で綺麗に並べ替え出来るのですが、
1対多になった場合上手く並べ替え出来ません。
何か良い方法ありませんか?

Offline

#2 2016-12-22 12:13:54

チポ
Member

Re: 1対多になったデータの日付順ソートについて

質問がよく理解出来ませんが、、

利用者マスタのソートですよね?

として、
利用者マスタのレコードから見て、
複数有る支払い履歴のレコードのうち、
どのレコードの日付でソートするのでしょうか?

「直近」ならば、それは過去の直近ですか、未来の直近ですか?

Offline

#3 2016-12-22 12:21:39

旅人
Member

Re: 1対多になったデータの日付順ソートについて

マスタの対象レコードの支払い日付でのソートですよね。
どこが1対多になっているのか分かりませんが
支払い日付でソートの昇順と降順のボタンを付けるだけ?

Offline

#4 2016-12-22 14:03:25

hijiri
Member

Re: 1対多になったデータの日付順ソートについて

チポ様・旅人様
お世話になります。

利用者マスタのレコードから見て、複数有る支払い履歴のレコードの直近の支払い日順にソートを実行したいです。
利用者(1)=支払い履歴(多)です。

Offline

#5 2016-12-22 14:33:21

チポ
Member

Re: 1対多になったデータの日付順ソートについて

> 会員一覧画面で直近の支払い日を表示させています。リレーションでソートしています
どのようにしているのか分かりませんが、、

直近の日のレコードを照合の1番になる様にリレーションを設定して、
利用者マスタのレイアウトに関連フィールド
  支払い履歴::支払日
を配置、そのフィールドでソートすればいいでしょう。

Offline

#6 2016-12-22 14:57:25

Hiro
Member

Re: 1対多になったデータの日付順ソートについて

日付降順ソートのリレーションを組み、その参照フィールドでソートするだけです。

・「支払い日」をキーに「利用者マスタ」と「支払い履歴」とで「降順ソートのリレーション」を組む。
      「利用者マスタ::支払い日」 = 「支払い履歴::支払い日」(支払い日で降順ソート)
・利用者マスタのレイアウト上に上記リレーションの関連参照フィールド「支払い履歴::支払い日」オブジェクトを設置。
・この関連参照フィールド「支払い履歴::支払い日」で「利用者マスタ」をソートして、お終い。

Offline

#7 2016-12-22 15:22:59

hijiri
Member

Re: 1対多になったデータの日付順ソートについて

チポ様・旅人様
ありがとうございました。
無事出来ました。

Offline

#8 2021-02-15 18:25:57

三毛猫
Guest

Re: 1対多になったデータの日付順ソートについて

血液検査の結果、例えば白血球数、赤血球数、ヘモグロビン、血糖値など多数の検査データを日付ごとに表に並べて印刷したいです。症例DBに検査履歴DBをポータル表示させると垂直に数値が上下に並びますが、出来れば結果は下ではなく、右に羅列したいです。過去2回分とかで十分です。横に並べる簡単な方法があったら教えてください。素人ですみません。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 513.32 KiB (Peak: 517.86 KiB) ]