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

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

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

You are not logged in.

Announcement

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


#1 2015-07-28 09:32:23

NK
Member

ポータルで日にちの表示

FMP14adv Mac です。

ポータル表示で顧客の介護記録を表示しています。

顧客 (ID=ID_顧客) 記録 のりレーションです。

記録のポータルにはには日付 時刻 コメントのフィールドがあります。
日付・時刻で昇順にソートしてあります。

1日に複数の記録があるので、その日の最初のレコード以外は日付を隠したいです。

1日の一番最初の日だけは日付を表示、それ以外なら隠すという形か、
一番理想的には、ポータルをスクロールした時に
一番上の日は日付を表示し、その日と同じ日付なら非表示というのができるならそれがベストです。
ポータルの次の行のフィールド内容をスクリプトを使わずに取得することはできるのでしょうか?

Offline

#2 2015-07-28 12:44:19

旅人
Member

Re: ポータルで日にちの表示

アイデアだけですが。
ポータル側のテーブルでIDと日付でリレーションして
その日付の先頭レコードにフラグのような物を立てると
条件付き書式やオフジェクトを隠す?の条件式として使
えますね。

Offline

#3 2015-07-28 15:43:08

Moz
Member

Re: ポータルで日にちの表示

1.
非保存の計算フィールドを Get ( レコード番号 ) で作成。
ポータル内の[次の場合にオブジェクトを隠す]で現在の行の日付と1行前の日付を比較して同じだったら隠す。

2.
テキストオブジェクトで 1行目にマージフィールドで日付、2行目に {{レコード番号}}として1行分の高さに調整。
GetValue ( Self ; 2 ) でポータル行番号が取得できるので、
現在の行の日付と1行前の日付を比較して同じだったら隠す。

指定した行の値を取るには GetNthRecord を使います。

サンプル
http://xfs.jp/4r1KP

Last edited by Moz (2015-07-28 15:51:43)

Offline

#4 2015-07-28 22:32:26

Shin
Member

Re: ポータルで日にちの表示

顧客側のテーブルに、グローバルフィールドで日付フィールドを作ります。顧客IDと日付フィールドでリレーションを貼るだけで良いでしょうね。日付はポータルの中には表示せず、顧客側のグローバルフィールドを表示しておきます。
前後の日付を表示させるには、グローバルフィールドの値を変化させれば良いので、それを行うボタンを作れば良いでしょう。
次の行を取得、の意味がちょっと分かりかねますが、GetNthRecord ( フィールド名 ; Get ( アクティブポータル行番号 ) + 1 ) で良いかと思います。

Offline

#5 2015-08-03 20:06:06

NK
Member

Re: ポータルで日にちの表示

旅人さん ありがとうございます。

ゆっくり取り組む時間がなく、
確認させていただくのが遅くなり申し訳ございません。

旅人 wrote:

アイデアだけですが。
ポータル側のテーブルでIDと日付でリレーションして
その日付の先頭レコードにフラグのような物を立てると
条件付き書式やオフジェクトを隠す?の条件式として使
えますね。

「その日付の先頭レコードにフラグ」というのは、どのようにしてフラグを立てるのでしょうか?

Offline

#6 2015-08-03 20:12:12

NK
Member

Re: ポータルで日にちの表示

Mozさん、ありがとうございます。
GetNthRecord とGet ( レコード番号 )を使えばいいんですね!
二つ目のテキストを使うやり方だと、計算フィールドを増やすこともなく、
とてもいいなと思いました。

サンプルもありがとうございます!!


Moz wrote:

1.
非保存の計算フィールドを Get ( レコード番号 ) で作成。
ポータル内の[次の場合にオブジェクトを隠す]で現在の行の日付と1行前の日付を比較して同じだったら隠す。

2.
テキストオブジェクトで 1行目にマージフィールドで日付、2行目に {{レコード番号}}として1行分の高さに調整。
GetValue ( Self ; 2 ) でポータル行番号が取得できるので、
現在の行の日付と1行前の日付を比較して同じだったら隠す。

指定した行の値を取るには GetNthRecord を使います。

サンプル
http://xfs.jp/4r1KP

Offline

#7 2015-08-03 21:05:02

NK
Member

Re: ポータルで日にちの表示

Shinさん、ありがとうございます。
確かに、日付をボータルの外に出すというのは盲点でした。
ただ、1日だけではなく、数日を一つのポータルに入れたいということがあるので、
今回はこのやり方は無理かなと思いました。

GetNthRecord ( フィールド名 ; Get ( アクティブポータル行番号 ) + 1 )
というのは、やってみたところ、うまくいかなかったです。
ポータル行でどこが選択されるかに依存するからなのか、
僕のやり方が悪かったからなのかはまだよくわかりません。



Shin wrote:

顧客側のテーブルに、グローバルフィールドで日付フィールドを作ります。顧客IDと日付フィールドでリレーションを貼るだけで良いでしょうね。日付はポータルの中には表示せず、顧客側のグローバルフィールドを表示しておきます。
前後の日付を表示させるには、グローバルフィールドの値を変化させれば良いので、それを行うボタンを作れば良いでしょう。
次の行を取得、の意味がちょっと分かりかねますが、GetNthRecord ( フィールド名 ; Get ( アクティブポータル行番号 ) + 1 ) で良いかと思います。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 562.25 KiB (Peak: 581.28 KiB) ]