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

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

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

You are not logged in.

Announcement

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


#1 2020-01-06 20:08:07

ウィン
Member

ポータルについて

例えば
ポータル内に6つのフィールドがあり、同日、同名なら初めの1行を残し、他1行の日付と馬名を消えているように見せることは出来ますか?
血統番号でリレーションされているわけだから・・・表示用の日付と実日付を作り、最新実日付を元に表示用日付と馬名を消してしまえばいいのかな?

=====ポータル=====(通常)
   日付 馬名A タイム1 タイム2 タイム3 タイム4
   日付 馬名B タイム1 タイム2 タイム3 タイム4
   日付 馬名C タイム1 タイム2 タイム3 タイム4
   日付 馬名D タイム1 タイム2 タイム3 タイム4←馬名Dが2行ある
   日付 馬名D タイム1 タイム2 タイム3 タイム4
   日付 馬名E タイム1 タイム2 タイム3 タイム4

=====ポータル=====(妄想)
実日付    表示用日付 馬名A タイム1 タイム2 タイム3 タイム4
実日付    表示用日付 馬名B タイム1 タイム2 タイム3 タイム4
実日付    表示用日付 馬名C タイム1 タイム2 タイム3 タイム4
実日付    表示用日付 馬名D タイム1 タイム2 タイム3 タイム4
実日付                                タイム1 タイム2 タイム3 タイム4
実日付    表示用日付 馬名E タイム1 タイム2 タイム3 タイム4

=====ポータル=====(理想)
   表示用日付 馬名A タイム1 タイム2 タイム3 タイム4
   表示用日付 馬名B タイム1 タイム2 タイム3 タイム4
   表示用日付 馬名C タイム1 タイム2 タイム3 タイム4
   表示用日付 馬名D タイム1 タイム2 タイム3 タイム4
                               タイム1 タイム2 タイム3 タイム4 ←消したい箇所
   表示用日付 馬名E タイム1 タイム2 タイム3 タイム4

Last edited by ウィン (2020-01-06 20:08:57)

Offline

#2 2020-01-06 23:06:41

Shin
Member

Re: ポータルについて

関連レコード側に、シリアル番号を振っておきます。(ポータルのソート順と一致させる)
日付と馬名で自己リレーションを張っておきます。
インスペクターで、日付と馬名のフィールドに リレーション::シリアル番号 ≠ 自己リレーション::シリアル番号 でフィールドを隠す、を設定します。

Last edited by Shin (2020-01-06 23:11:57)

Offline

#3 2020-01-07 09:43:45

Moz
Member

Re: ポータルについて

マージ記号で {{レコード番号}} を取得するとポータル行番号が取得できることを応用した
リレーションやフィールドの追加を行わない解法例。

1.1行目にマージフィールドで目的のフィールド、2行目にマージ記号を設定します。
※表示高を1行分にして2行目は見えないように
2.[次の場合にオブジェクトを非表示]に GetAsNumber ( GetValue ( Self ; 2 ) ) でポータル行番号を取得、
GetNthRecord関数で前行の日付・馬名を現在の行と比較して同じなら非表示の計算式を設定。
※FileMaker Pro 17 Advanced で仕様変更があり無効な計算式だと無条件で非表示になるため、現在の行が1行目の場合の処理に注意

サンプル
http://bit.ly/2sS5SE0

Offline

#4 2020-01-13 19:00:22

ウィン
Member

Re: ポータルについて

サンプルありがとうございます。
マージも上手く使いこなすと非常に便利ですね。

Offline

#5 2020-02-06 11:20:35

ウィン
Member

Re: ポータルについて

FMA18
FMS18
Win/Mac

いつもお世話になっております。解決ずみだったのですが新たな問題が出てきてしまったので再度返信させてください。

<<日付>>{{レコード番号}}
<<馬名>>{{レコード番号}}
でスクリプトで消すことは出来たのですが、入力可能なフィールドでも予めポータル内に{{レコード番号}}を記述しておけば可能でしょうか?

ポータルを用いてスクロールの無いカルテを作成しています。同日、同馬であれば、入力した瞬間から2行目以降、日付と馬名の表示は不要になるようにしたいです。
下記のように馬名Aは3件、馬名Cは2件と同日、同馬であれば、2行目以降非表示、入力可能フィールドで行うことが出来れば最高です。

日付 馬名A 治療内容
               治療内容
               治療内容
日付 馬名B 治療内容
日付 馬名C  治療内容
               治療内容
日付 馬名D  治療内容

よろしくお願いいたします。

Last edited by ウィン (2020-02-06 11:21:59)

Offline

#6 2020-02-06 11:27:56

Moz
Member

Re: ポータルについて

{{レコード番号}} にポータル行番号が返ってくるのはマージ記号 & Self関数の場合のみです。
入力可能フィールドは同手法では消せません。

ポータルの日付・馬名はどこで入力するのですか?
日付・馬名を入力した際に前のポータル行と同じ内容だったら入力フィールドを非表示にしたいってことですか?
その場合は間違って入力してしまっても戻せなくなりますが不都合は生じませんか?

Offline

#7 2020-02-06 11:45:16

ウィン
Member

Re: ポータルについて

>ポータルの日付・馬名はどこで入力するのですか?
ポータルをアクティブにして直接ポータル内に入力してみたいです。つまり本来の紙媒体での手書きカルテそのもののデザイン状態でFileMakerGoで扱いたいのです。

>日付・馬名を入力した際に前のポータル行と同じ内容だったら入力フィールドを非表示にしたいってことですか?
そう言うことになりますね

>その場合は間違って入力してしまっても戻せなくなりますが不都合は生じませんか?
特に不都合はないとは思います。
その場合、治療フィールドが空の状態と言うことになるので、空フィールドに対して何らかの処理を行い削除したいと思います。

ビジュアル的な要求ですが、何か他に新たな手法があるようであれば、教えていただければ幸いです。

http://frds.html.xdomain.jp/2020-02-06.png

よろしくお願い致します。

Last edited by ウィン (2020-02-06 11:51:27)

Offline

#8 2020-02-06 21:23:48

ウィン
Member

Re: ポータルについて

馬名を空欄にすると日付と治療データしか持てず、意味をなさないものとなったり、従来通り日付と馬名を打ち込めば記入繰り返しになり見栄えがくどい感じになったりと納得できないものばかり出来てしまいました。
それでも諦めずに自分なりに考えた末、以下のようにしてみました。
表示用データと実データを作り、表示用データから実データに写して、日付・馬名・治療がしっかり集計できるようにしてみました。

診療日時_実データ用(自動入力)
従来通りレコードが作成されるたびに作成情報『日付』に設定

診療日時_カルテ表示用(自動入力)
Case ( not IsEmpty ( 馬名_カルテ表示用 ) ; Get ( 日付 ) ; )
//表示用馬名が空欄でない場合、診療日時_カルテ表示用に日付を入力表示するようにしてみました。

馬名_実データ用(自動入力)
Case (
not IsEmpty ( 馬名_カルテ表示用 ) ; 馬名_カルテ表示用 ;
not IsEmpty ( カルテ履歴::馬名_カルテ表示用 ) ; GetNthRecord ( カルテ履歴::馬名_実データ用 ; Get( レコード番号 ) - 1 ) ;
)
//馬名を実データで入れ込む為、1つ前の表示用データから取得する処理をしてみました。

周りくどいようなアイデアしか浮かびませんでしたw

http://frds.html.xdomain.jp/2020-02-06-2.png

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.048 seconds, 14 queries executed - Memory usage: 543.95 KiB (Peak: 564.86 KiB) ]