みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
皆様のお知恵をお貸しください。
検索用のグローバルフィールドがありそこで検索基準日を入力します。
スクリプトで
フィールド設定[入院年月日>&検索基準日]
レコードを対象外に
フィールド設定[退院年月日>&検索基準日]
レコードを対象外に
として検索基準日に入院している方を絞り込んでいます。
そこから別テーブルで管理している保険の管理テーブルから
検索基準日に使用している保険を表示させたいのですが
最新の保険情報しか出てきません。
上記の入院している人の様に
検索基準日に適応されていた保健情報を表示できるようにするには、どの様にスクリプトを変更すれば宜しいでしょうか?
保険テーブルは
患者番号
保険名
開始日
終了日
のフィールドで管理しています。
windows8.1 filemaker12
入院テーブルから、入院日と退院日を使って、保険テーブルへリレーションを張れば良いでしょう。そのオカレンスを参照すれば、入院中の保険情報が表示されます。ただし、現在有効な保険に付いては終了日が入力されていないはずですが、そこは工夫が必要でしょうね。
Offline
Shin様
コメントありがとうございます。
入院テーブルの入院日と退院日は保険テーブルの、どのフィールドとリレーションを張ればよいのでしょうか?
どうぞよろしくお願い致します。
すみません、どなたかご助言を頂けないでしょうかTT
入院期間中に保険が切り替わっている場合はどうするのですか。
ポータルで表示するとして、退院日が必ず入力されているのでしたら、
保険テーブル::開始日 ≤ 入退院テーブル::退院日 and ( 保険テーブル::終了日 ≥ 入退院テーブル::入院日 or IsEmpty ( 保険テーブル::終了日 ) )
というポータルフィルターをかければ良いかと思います。
Offline
検索基準日に入院中の患者がその検索基準日に適応されている保険のレコードを表示
ですよね。
検索基準日を入院テーブルのグローバルフィールドにして、
保険テーブルとのリレーションを
患者番号 = 患者番号
and
検査基準日 >= 開始日
and
検査基準日 <= 終了日 (終了日が空白なら遠い未来を入力した別フィールド)
として、
入院のレコードを検査基準日で絞り込んで
関連レコードへ移動(対象レコードで照合)
とすればいいでしょう。
Offline
チポさん
連絡が遅れ申し訳ありません。
絞り込んだ後の表示は該当患者をリスト形式で表示をしようと思っています。
>>検索基準日を入院テーブルのグローバルフィールドにして、保険テーブルとのリレーションを
患者番号 = 患者番号
and
検査基準日 >= 開始日
and
検査基準日 <= 終了日 (終了日が空白なら遠い未来を入力した別フィールド)
というのは出来たのですが、
ボタンを作りスクリプトで
カスタムダイアログを表示[入退院履歴::検索基準日]
関連レコードへ移動[リスト]
で絞り込んでいるのですが、うまく動作しません・・・
入院テーブルのレイアウトに、保険テーブルのポータルを置いてみて、
正確にレコードが表示されているか見てください。
Offline
チポ様
色々いじっていたらわけがわからなくなりました・・・・
現在利用しているものをアップ致しますので見て頂けないでしょうか?
http://pupld.net/07/151027/6zp59wpeie/index.cgi
ごめんなさい、
ここでのファイルのアップダウンはしないことにしています。
それほど込み入ったことではないですが、、
何が出来ないのでしょう?
1.検査基準日に入院中の患者の検索
2.検索された対象レコードの患者の検査基準日に適用される保険のレコードをリストアップ
この二段階の作業が必要です。
きちんと切り分けて考えていますか?
どなたかがファイルを見てくれればいいのですがね。。
ファイルを見られない私が不要ならそう言ってください。
私が引っ込めば代わりの方がでてくると思いますよ。
遠慮や気遣いは不要です^^
Offline
チポさん、すみません、また日にちが空いてしまいました。
私の説明が下手で現状の説明が出来ていないと思うので、宜しけれbあ
ファイルをもう一度アップ致しますので、どなたかファイルを見て頂けないでしょうか?
どうぞよろしくお願い致します。
チポさんの質問に先に答えては如何でしょう?
上で Shin さんにも提案を色々と貰っていると思いますが、
piko さんが作りたいモノのゴールと現状(何が出来て何ができていないのか)を明らかにしないと
ファイルを見て欲しいといわれても助言のしようがないと思いますよ。
Offline
shinさん
チポさん
Mozさん
申し訳ありませんでした。
今以下の様な現状です。
患者マスタテーブルのカルテ番号と保険テーブルのカルテ番号をリレーション
患者マスタテーブルのカルテ番号と入院テーブルのカルテ番号をリレーションしています。
それに保険テーブルオカレンスをコピーして保険テーブル2をつくり
保険テーブル2と入院テーブルを
患者番号 = 患者番号
and
検査基準日 >= 開始日
and
検査基準日 <= 終了日 (終了日が空白なら遠い未来を入力した別フィールド)
でリレーションしました。
入院テーブルのレイアウトに保険テーブルをポータルで配置して、検索基準日を入力すると
検索基準日に入院されていた方のみポータルの中身が表示されます。
shinさんの仰られていた意味がここで分かりました。
現在利用中の保険は、終了日が入っていない為、表示がされないようです・・・
どうやれば表示できるのかが分かりません。
基準日に入院されている方は
スクリプトにて
検索モードに切り替え
フィールド設定[入院テーブル::入院年月日"<="&入院テーブル::検索基準日]
フィールド設定[退院テーブル::退院年月日"<="&入院テーブル::検索基準日]
検索実行[]
で検索基準日中に入院されている方を表示する事が出来ました。
現在躓いている所は、現在利用中の(終了日が入っていない保険)を表示させるには?
という所です。
どうぞご助言宜しくお願い致します。
検査基準日 <= 終了日 (終了日が空白なら遠い未来を入力した別フィールド)
というのを見落としていました。
Case ( IsEmpty ( 終了日 ) ; Date ( 12 ; 31 ; 3000 ) ; 終了日 )
という計算式(非保存)を入れた判定フィールドを追加し
検査基準日 <= 判定
としたのですが、そうするとポータルが何も表示されなくなってしまいました・・・
Case ( IsEmpty ( 終了日 ) ; Date ( 12 ; 31 ; 3000 ) ; 終了日 )
という計算式(非保存)を入れた判定フィールド
索引非保存では関連側の照合フィールドになりません。
索引設定できるでしょう。
Offline
チポさん
ありがとうございました。
おかげさまで希望の物が出来ましたありがとうございました。
またなにかありましたら宜しくお願い致します。
Case ( IsEmpty ( 終了日 ) ; Date ( 12 ; 31 ; 3000 ) ; 終了日 )
という計算式(非保存)を入れた判定フィールド
索引非保存では関連側の照合フィールドになりません。索引設定できるでしょう。
Pages: 1
[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 553.77 KiB (Peak: 574.67 KiB) ]