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

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

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

You are not logged in.

Announcement

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


#1 2015-10-11 09:57:23

sorelax
Member

IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

お世話になっております。

受付名簿とリハカルテというファイルがあり、IDでリレーションをしております。

受付の完了した受付名簿上にボタンを配置して、
そのIDをコピーして、
リハカルテを開き
IDをリハカルテのIDフィールドに入力されるスクリプトを作っているのですが、
ファイルのオープンまではうまく行くのですがその後がうまくいきません。
ご指導お願いいたします。

受付名簿のスクリプトを仕込んだボタンをクリックすると
スクリプトが動くようにしました。
----------------------------------------
変数を設定[$ID;値:受付名簿::ID]
ファイルを開く[「リハカルテ」]
ウィンドウを選択[リハカルテ]

If[IsEmpty(リハカルテ::ID)]
フィールド設定[リハカルテ::ID;$ID]
Else
新規レコード/検索条件
フィールド設定[リハカルテ::ID;$ID]
End if
----------------------------------------
アドバイスよろしくお願いします。

Offline

#2 2015-10-11 11:46:20

Shin
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

リレーションを張っているのならば、そのリレーションを使って、関連レコードとして新しいレコードを作れば良いのでは。さらに、そのリレーションを通して関連レコードへ移動、を行えば、目的のレコードが開きます。
日毎に新しいレコードを作っているのならば、患者マスター側にポータルを作り、その新規行でレコードを作れば、もっと簡単かも。

Offline

#3 2015-10-11 13:47:29

チポ
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

間違いの指摘を、

スクリプトで他のファイルを動かすことはできません。

そちらのファイルでスクリプトを作り、
こちらから
  スクリプト実行
でそのスクリプトを動かすことが出来ます。


もう一つ、
変数はファイルをまたいで使えません。
スクリプト実行のオプションのスクリプトパラメータで
実行するスクリプトに値を渡すことが出来ます。

Offline

#4 2015-10-12 05:34:20

sorelax
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

Shin wrote:

リレーションを張っているのならば、そのリレーションを使って、関連レコードとして新しいレコードを作れば良いのでは。さらに、そのリレーションを通して関連レコードへ移動、を行えば、目的のレコードが開きます。
日毎に新しいレコードを作っているのならば、患者マスター側にポータルを作り、その新規行でレコードを作れば、もっと簡単かも。

Shinさん返信ありがとうございます。
関連レコードとして新しいレコードを作るというのはどういった方法でしょうか?
受付名簿の方は日ごとに作成しています。
また、患者マスタ側でポータルの方法がイメージがつかず難しいです。

Offline

#5 2015-10-12 05:39:43

sorelax
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

チポ wrote:

間違いの指摘を、

スクリプトで他のファイルを動かすことはできません。

そちらのファイルでスクリプトを作り、
こちらから
  スクリプト実行
でそのスクリプトを動かすことが出来ます。


もう一つ、
変数はファイルをまたいで使えません。
スクリプト実行のオプションのスクリプトパラメータで
実行するスクリプトに値を渡すことが出来ます。

チポさん返信ありがとうございます。
スクリプトでてっきりできるものだと思っておりました。
別デーブルにコピーまでは出来るけど、別のファイルは難しいのですね。
変数は跨げないのですね。それも困りました。
ただ、IDをコピーするのに難しい作業がいるとは知りませんでした。
GetAsTextでコピーを利用して受け渡せればと思ったんですがそれも厳しいのですね。
困りました。

Offline

#6 2015-10-12 09:43:33

チポ
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

私は方法が間違っていますよ、と書いたので、
難しいとか、厳しいとか言っていませんよ。

正しい方法も書きましたのでお試し下さい。


分らないのは、
リハカルテに移ってからテーブル、レコードの指定が有りませんよね。

たまたま開いているテーブルのたまたま選択されているレコード
ではまずいでしょう。

Offline

#7 2015-10-12 10:39:27

sorelax
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

チポ wrote:

私は方法が間違っていますよ、と書いたので、
難しいとか、厳しいとか言っていませんよ。

正しい方法も書きましたのでお試し下さい。


分らないのは、
リハカルテに移ってからテーブル、レコードの指定が有りませんよね。

たまたま開いているテーブルのたまたま選択されているレコード
ではまずいでしょう。

ありがとうございます。
たまたま開いているとなっているところですね。
ヒントありがとうございます。粘って頑張ってみます。
作ってみてダメでしたら、また質問させていただきます。

Offline

#8 2015-10-12 11:53:33

Shin
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

受付情報からIDと日付でリレーションを張って、関連レコードとしてリハカルテを入力するだけでも良いかも。

まず、リレーションの設定で、リハカルテ側へ、関連レコードの作成を許可しておきます。受付リストにフォーム形式の別レイアウトを作り、そこに関連レコードとして、リハカルテのフィールドを配置しておきます。

または、考え方によっては、受付情報は不要かもしれませんよ。受付すれば、必ずリハカルテにその日のレコードが追加される事になりませんか。

Offline

#9 2015-10-14 18:44:03

sorelax
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

>Shinさん

Shin wrote:

受付情報からIDと日付でリレーションを張って、関連レコードとしてリハカルテを入力するだけでも良いかも。

まず、リレーションの設定で、リハカルテ側へ、関連レコードの作成を許可しておきます。受付リストにフォーム形式の別レイアウトを作り、そこに関連レコードとして、リハカルテのフィールドを配置しておきます。

または、考え方によっては、受付情報は不要かもしれませんよ。受付すれば、必ずリハカルテにその日のレコードが追加される事になりませんか。

コメントありがとうございます。
全く考えていなかった方法でした。
ただ、受付をした人、全員分のカルテが必要な訳では区分1、3の方たちには必要になるといった感じです。
言い換えると、消炎鎮痛処置の場合カルテ作成は不必要というわけです。
受付名簿を分けている理由はタイムスタンプで来院順番の管理、前回の算定項目情報や、治療内容を参照するために
作成しております。
レコードの関係だけでしたら仰られる通りなのですが、なかなかうまくいきません。。。

できれば、受付名簿のレイアウト「リアルタイムの受付状況」よりボタンを配置しておき、そのボタンをクリック。
IDがコピーされた状態でカルテが立ち上がってくれるとベストなのですが。。。
そうすると順番の取り違えもなく運用できるかと思っています。

スクリプトの方法もアドバイス頂いたので、頑張ってはいるのですが、なかなか上手くいかない状況です。。。
とりあえずは、諦めて受付名簿とリハカルテファイルと2度手間にはなりますが、紙カルテと併用してID入力を手入力ないしバーコード入力して簡素化してみます。

Offline

#10 2015-10-15 21:43:10

Shin
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

こんな感じで良いでしょうね。
https://dl.dropboxusercontent.com/u/926 … -h3535.zip
1ファイルで作ってしまっても良いかと思います。

Offline

#11 2015-10-29 14:53:31

sorelax
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

>Shinさん
返信が遅くなりまして、申し訳ありません。
サンプルまでお作り頂きまして有難うございます。
まさに同じリレーションの方法で作っていました。
IDでリレーションで::患者氏名と言った感じにしていました。
ただ、カルテの右側のソートの部分についてはどういった目的になるのでしょうか?
違う日に受付情報のほうにID:1,AAAさんのレコードを足してみましたが変化がありませんでした。

Offline

#12 2015-10-29 22:21:54

Shin
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

その患者の来院履歴を表示しています。そこをclickすれば、その日のカルテに飛ぶ様に設定すれば、便利でしょうね。

Offline

#13 2016-01-26 18:19:24

sorelax
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

ようやくShinさんに作って頂いた物の構成がわかるようになりました。
1つのファイルで作り、テーブルを患者情報、カルテと作れば良いだけなのですね。
それをリレーションを利用してk_日付をグローバルフィールドとして関連付ければ可能なのが分かってきました。
有難うございます。
ここにさらに、横軸:治療者A 、縦軸9:00  表示:患者Aとといったようにクロス集計で
○月○日に治療者Aが何時に○○さんを治療したというスケジュールが出来れば完璧です。
頑張ってみます。

Offline

#14 2016-01-26 23:08:04

Shin
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

それは良かったですね。
クロス集計等せずとも、治療者と日付でリレーションを張り、ポータルで時刻とともに表示させれば十分かも。

Offline

#15 2016-01-27 13:19:14

sorelax
Member

Re: IDをコピーして、別ファイルをオープンしてそのファイルのID入力するスクリプト

やってみました。確かにこれでいいですね。
公文書用の治療者一覧の表にはレコードをExcelに出力して、関数で自動化して確かめればよいわけですし。

もう一つだけ、
テーブルを
T_患者情報、T_リハカルテ、T_スケジュール帳、TK_患者情報、TK_リハカルテ
として、カルテIDで T_患者情報、T_リハカルテをリレーション、
検索用にT_患者情報をTK_患者情報と自己リレーション
T_リハカルテをTK_リハカルテと日付としました。


         9:00枠      | 10:00枠      | 11:00枠
治療者A   フィールドA  |フィールドB    | フィールドC
治療者B   フィールドA2|フィールドB2  |フィールドC2

のフィールドA〜C2の部分をボタンを配置して、
スクリプトで
ーーーーーーーーーーーーーーーーーーーーーーーーーー
レイアウト切り替え{T_リハカルテ(リハカルテ)}
新規レコード/検索条件
テキストを挿入{選択;T_リハカルテ::開始時間;9:00}
テキストを挿入{選択;T_リハカルテ::治療者;治療者A}
ーーーーーーーーーーーーーーーーーーーーーーーーーー
という感じで治療者A が 9:00枠で治療しましたと入力させるようにしました。
そうした後で、このクリックしたボタンにこの枠はもうクローズ(使えませんよ)という感じで
患者名を載せたり、×マークを載せたりすることは可能でしょうか??

また、こういった場合には繰り返しフィールドなどを使ったり、何か楽をするテクニックは有りますか?
当院では実際に治療者が10名、枠が25枠ありますので、250個スクリプトを作らねばなりません。。。
複製を利用して作るとはいえ非常に面倒です。
ここを上手く自動化出来れば、治療者が増えても使用できる汎用性があるものができるのにと考えていました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 8 queries executed - Memory usage: 563.05 KiB (Peak: 583.96 KiB) ]