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

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

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

You are not logged in.

Announcement

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


#1 2015-12-05 16:14:17

ときむね
Guest

リレーションして顧客の表示

いつもこのサイトで勉強させてもらっています。
小さな病院でファイルメーカーを使って患者を管理しています。

FileMakerPRO13
windows7です。

患者の診察履歴を作ろうと思いましてある程度できたのですが、
「患者マスタ」テーブル            「診察内容」テーブル
患者ID                      患者ID
カルテNO                    カルテNO
患者名                      患者名
患者名カナ                   患者名カナ
患者_頭文字             患者_頭文字(グローバル)
   ・                          ・
   ・                          ・
リレーション
「患者マスタ」                「診察内容」
患者ID          =         患者ID

「患者マスタ」テーブルの患者_頭文字でleft関数にて1文字とり、「診察内容」テーブルの「患者_頭文字」で
50音順にて患者を絞り込み、患者IDにて「診察内容」に患者情報を取り出しているのですが、

医師より、「カルテNo」でもそう(患者名からでもカルテNoからでも患者情報が出るように)してほしいといわれました。

これにはリレーションをカルテNoもすればいいと思い、
リレーション
「患者マスタ」                「診察内容」
患者ID          =         患者ID
カルテNo         =        カルテNo
で、いいのではと思ったんですが、こうすると患者名でもカルテNoでも患者情報が出なくなりました。
よく考えれば、リレーションの2つが「=」だから両方の条件があわないといけないのかな?
と思うと、どうすればできるのかわからなくなってしまいました。
リレーションの「=」の部分を変えてもダメでした。

医師の意図するようなことはできるのでしょうか?

#2 2015-12-05 16:37:08

旅人
Member

Re: リレーションして顧客の表示

リレーションシップグラフの左下の+のボタンを押して
「患者マスタ」を指定すると、「患者マスタ」2  ができるので
別リレーションを作るだけ。

「患者マスタ」2           「診察内容」
カルテNo         =        カルテNo

Offline

#3 2015-12-05 16:55:37

ときむね
Guest

Re: リレーションして顧客の表示

旅人様
ご教授ありがとうございます。
リレーションのテーブルオカレンス(というんだとおもいますが、)を複製してリレーションを組むということですね。

すみません。その際に、「診察内容」にある呼び出す「氏名」「住所」「生年月日」などの患者情報は
ルックアップではダメとかありますか?
教えていただいたリレーションの複製をしましたが、表示されなかったので、もしかしてと思いました。
ルックアップはそのテーブルに対してリレーションした内容がデータとしても保存される。
呼び名はわかりませんが、ラベルに「患者マスタ」を関連付ける?(もう1つの方法)方法はデータが残らないんですよね。
重ね重ねよろしくお願いします。

#4 2015-12-05 17:22:47

旅人
Member

Re: リレーションして顧客の表示

意味が分からないです。
診察内容には患者名フィールドが既にあるのですよね?
関連フィールドの配置ということでしたら診察内容テーブルに患者マスタ::患者名
とかを置くだけです。ルックアップの場合、患者の住所が変わったりすると患者マスタ
の内容を書き換えるだけではだめで、診察内容テーブルで再ルックアップが必要です。
変更前の、診察を受けたときの住所はそのまま残すということなら有効ですが。

Offline

#5 2015-12-07 13:56:11

ときむね
Guest

Re: リレーションして顧客の表示

診察内容には患者名フィールドが既にあるのですよね?

すみません。
現在は前述のとおり、ルックアップで患者名フィールド、患者カナフィールドなどを置いているのですが、
別に「カルテNo」用のリレーションを「患者マスタ2」と設定した場合、
ルックアップにしろ、関連フィールド(?)にしろ、「患者名」「患者カナ」などのルックアップ先のフィールドは
「患者マスタ」でいいのでしょうか?、それとも「患者マスタ2」でしょうか?

#6 2015-12-07 14:19:27

旅人
Member

Re: リレーションして顧客の表示

読み返したら変ですね。
新規の診察内容では先に患者名を絞り込んで指定するのですよね。
患者名のリレーションもあるということですか?
それとも、患者名とIDを併記した値一覧があって、選択したら
患者IDが入るのでしょうか。

Offline

#7 2015-12-07 14:36:22

チポ
Member

Re: リレーションして顧客の表示

1患者が1カルテなら、
患者IDとカルテNoが有ることが重複しているように思いますが。。


ご希望は、
診察内容でカルテNoのレコードへ行き、その患者IDの患者マスタのレコード
でいいのでは。


この検索用に、
カルテNoでリレーションしても現在のルックアップ等何も変更する必要はないでしょう。

Offline

#8 2015-12-08 09:22:25

ときむね
Guest

Re: リレーションして顧客の表示

説明が足りなかったのか、混乱させてしまい、申し訳ありません。

内容を整理しますと、
「患者マスタ」テーブル            「診察内容」テーブル
患者ID                      患者ID
カルテNO                    カルテNO
患者名                      患者名
患者名カナ                   患者名カナ
患者_頭文字             患者_頭文字(グローバル)
   ・                          ・
   ・                          ・
リレーション
「患者マスタ」                「診察内容」
患者ID          =         患者ID

でテーブル、リレーションを設定しています。

「診察内容」テーブルにて、「患者ID」を値一覧の「フィールド値を使用」にて「患者マスタ::患者ID」および「患者マスタ::患者カナ」とし、
患者_頭文字」にて50音で抽出し、該当の患者を選択することにより、「患者名」、「患者カナ」が呼び出されるということなんですが、
前述のとおり、医師が「この検索方法(50音での患者情報の呼び出し)でも「カルテNo」でもどちらでも患者情報を呼び出せるようにできないか?」
という希望をかなえるためにはどのようにしたらいいのかというのがご質問の趣旨でした。

誠にお手数をおかけいたします。

#9 2015-12-08 10:23:35

旅人
Member

Re: リレーションして顧客の表示

患者_頭文字は動的値一覧に使われているのかな?
それは置いといて、ルックアップ自動入力項目は計算値自動入力にして
Lookup(患者マスタ::フィールド; 患者マスタ2::フィールド)
にしてみる。そういう意味ではない?

Offline

#10 2015-12-08 11:55:51

Shin
Member

Re: リレーションして顧客の表示

「患者ID」を値一覧の「フィールド値を使用」にて「患者マスタ::患者ID」および「患者マスタ::患者カナ」とし、

の部分は理解できませんし、チポさんの「患者IDとカルテNoが有ることが重複しているように思いますが。。」と同じ疑問を持ちますが。
グローバルフィールドの内容をチェックして、数値ならば患者IDとして、数値以外ならば患者氏名と理解して、処理を分岐し、異なる関連レコードへ移動、するだけで良いかと思います。そのような動きをさせている実績もありますよ。
検索ならば、or検索で、入力された項目を区別せずに、検索条件で該当しそうなフィールドに設定しておく、という少し乱暴な方法もあります。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 8 queries executed - Memory usage: 547.09 KiB (Peak: 567.63 KiB) ]