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

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

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

You are not logged in.

Announcement

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


#1 2015-04-13 15:55:12

かっち
Guest

患者管理でのレイアウト

重複した質問でしたらすみません類似したものを見つけれなかったので質問させていただきます。
FM13です(サーバーではありません)

患者1人の1つの治療に対して親レコードを1つ作ります。複数部位がある場合は、リレーションを使い関連する子レコードをポータルで親レコードで表示します。
子レコード内で治療回数や内容をリレーションを使い、孫レコードを表示します。
親レコード内で子と孫の表示をしたいのですが、方法がわかりません。ポータルで試しましたがわかりませんでした。
さらに、部位を追加して子レコードが増えた時にタブ表示のようにしたいのですが、追加したときだけタブが増えるようにしたいです。

みな様のご教授をお願いします。

#2 2015-04-13 22:36:50

Shin
Member

Re: 患者管理でのレイアウト

タブコントロールは、スクリプトからコントロールできません。
治療の数が有限でしたら、1から最大治療数までのタブ画面を作り、それぞれで表示させる、という方法はあるかも。
その他では、擬似的にタブをレイアウト上に作り込む、という方法は有ると思います。

Offline

#3 2015-04-13 22:59:22

Re: 患者管理でのレイアウト

横からすみません、では
> 親レコード内で子と孫の表示をしたいのですが、方法がわかりません。ポータルで試しましたがわかりませんでした。

の部分を。親レコードを表示しているレコードにポータルを配置すれば、子レコードは表示できます。その子レコード内にひとつの孫レコードがあるならリレーションのフィールドを置くだけです。これは大丈夫ですよね。

問題なのは、孫レコードが複数ある場合です。この場合の問題解決法はいくつかありますが、だいたいにおいては

1. 子レコードをクリックして孫ポータルの表示を切り替える
2. 孫レコードをLIST関数でまとめて1つのフィールドに複数レコードを表示させる
3. LIST関数を使うのは2.と同様だが、レイアウトをしやすくするため計算フィールドを繰り返しで使う

という感じでしょうか。この場合、2.、3.は親レコードのレイアウトでは更新ができません。

割とよく使うのは3.かと思います。

繰り返しフィールドというのはデータモデリングの観点では使うべきではありませんが(ここ重要です)、このように表示用としては使うことがあります。

簡単に言うと、計算フィールドに
GetValue(List(TO名::フィールド名);Get ( 計算式繰り返し位置番号 ))
という式を設定し、繰り返し数を2以上にするという手法です。

なお2.にしても3.にしてもLIST関数を使う場合は、値が空欄の場合に行が詰まる点は気を付けましょう。

という感じで全体のごく一部のみ紹介した感じですが、何かのお役に立てば幸いです。


- [FMhelp.jp] 有限会社アモニータ・茂田カツノリ http://www.fmhelp.jp/

Offline

#4 2015-04-14 00:26:09

Shin
Member

Re: 患者管理でのレイアウト

ポータルの中に擬似的なポータルを配置し、孫ポータル行のスクロール、行の追加、編集など可能にしたサンプルです。
今回のような用途でしたら実用になると思います。
孫ポータル行を削除する機能はサポートしていません。
http://dl.dropbox.com/u/9260632/FileMak … 2e.fp7.zip (不許商利用)

https://www.dropbox.com/s/8m7156sybqzz8 … l=0(不許商利用)

Last edited by Shin (2017-04-07 10:44:56)

Offline

#5 2015-04-14 16:28:54

かっち
Guest

Re: 患者管理でのレイアウト

Shin様
茂田カツノリ様

アドバイスありがとうございます!
イメージができました。組み立ててみないと分かりませんが解決の糸口が見えました。
時間かかりますがやってみます。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 517.52 KiB (Peak: 522.8 KiB) ]