みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Shin様、時間を割いて教えてくださりありがとうございます。
私にはとても高いレベルで現状ではとても難しいです。
1つ1つ勉強したいと思います。
この度はありがとうございました。
お世話になります。
Shin様、Hiro様に色々教えていてだいたのですが、うまくできないので教えて頂きたいです。
何度も何度も本当に申し訳ありません。
先日、訓練時間の重複を防ぐために以下のトピックスでアドバイスを頂きました。
繰り返しフィールド間で同一テキストのレコードがあった場合、条件付き書式で色を変えたい
https://fm-aid.com/bbs2/viewtopic.php?id=8026
Shin様に作成してだいた、ドラッグ&ドロップできるサンプルファイルを修正して、
訓練時間の重複を喚起するようにやってみました。
Hiro様に教えていただいたように、
訓練一覧表である、予約一覧レイアウト上で、
予約一覧テーブルを複製して自己リレーションをしました。
教えて頂いたように、
終了時刻などのフィールドも作成してリレーションもしました。
ただ、予約一覧内の業務フィールドは予定テーブル t_M::業務_を参照しているためか
うまくリレーションが組めず(?)条件付き書式がうまくつきません。
色がついたとしても、予約一覧内の業務フィールドの一部のレコードの色が変わるのではなく繰り返しフィールド全体の色が変わってしまいます。
Hiro様に教えて頂いたサンプルの繰り返しフィールドは、
何もないテキストを定義したフィールドだったのでうまくできたのではないかと考えています。
まだまだ勉強不足なのですが、どうしてもこれを完成させたいため教えて頂けると幸いです。
すいません。
自己解決できました。
色々、教えていただきありがとうございました。
Hiro様、Shin様、ありがとうございます。
あと最後にもう1点だけお聞きしてもいいでしょうか?
入院患者リストから、療法実施予定一覧へリレーションを張って起き、その中で該当する関連レコードを持つ者を抽出します。
その関連レコードの一覧を List() で取得し、改行をコンマなどに置き換えるだけです。
今、この作業を行いました。
無事に1患者でレコード内に時間を並べて表示することはできました。
ただ、時間が横並びになっているとその時間が何の訓練なのかわからないため、訓練時間の前にPT、OTといったものを表示したいのですが、できませんでしょうか?
List関数で
List(予定テーブル::訓練時間)
これで訓練時間は1つにできました。
List関数に
List(予定テーブル::訓練職種,予定テーブル::訓練時間)
※予定テーブル::訓練職種のフィールドは、職種が表示されるように定義しています。
こうすると、1つの時間しか出てきません。
具体的には、レコード情報は、
PT 9:30 OT 13:00 ST 11:00
こんな感じであるはずなのに
PT 9:30の1つしか表示されません。
何かいい方法はありませんでしょうか?
申し訳ないので、これを教えていただいたらこのトピックスは解決にさせていただきます。
ところで、1患者につき訓練時間をPT時間、OT時間、ST時間で一列にまとめ琉のですか。時間順に、9:00 ST 10:00 OT 13:00 PT とかの表示の方がいいのでは。それでしたら、別の簡単な方法があります。
ありがとうございます。
病棟内には最大で32人の患者がいます。
なので、1枚の紙に翌日の訓練時間をまとめるので、スペース上の問題で1患者1列にまとめたいです。
時間順に簡単に表示できる方法があるのですか。
是非、それを教えていただけますでしょうか?
以下のトピックスでShin様にサンプルまで作成していただきました。
繰り返しフィールド間で同一テキストのレコードがあった場合、条件付き書式で色を変えたい
https://fm-aid.com/bbs2/viewtopic.php?id=8026
この度は、本当にありがとうございました。
今、難渋しているのは、
作成した予定テーブルにあるレコードを集計するやり方について教えていただきたいです。
予定テーブルのレイアウトで、
患者名 PT時間 OT時間 ST時間
鈴木 13:00 10:00 9:00
佐藤 10:00 15:00 11:00
・・・
・・
といったように、
1患者の訓練時間を1レコード内に集計したいです。
色々調べて実践してみました。
まずできることとして、
予約一覧のtitle_担当者フィールドの繰り返しを18に増やし、スタッフ数を増やしました。
担当者フィールドで
担当者がA~Hだったら(繰り返し1~8)はPT
担当者がI~O(繰り返し9~15)はOT
担当者がP~R(繰り返し16~18)はST
というように、新規フィールドを作って定義しました。
このレコード情報を使って、
1患者につき訓練時間をPT時間、OT時間、ST時間で一列にまとめたいです。
どのようにやればいいか教えていただけますか?
毎回、自分が持っている知識、技術とは
かけ離れたものを実践しようとしていることは理解しています。
教えていただいたことをかみ砕いて自分の知識としたいと思いますので、
よろしくお願いいたします。
Shin様、もう1度初めから確認したいと思います。
いろいろ、聞いてしまい申し訳ありませんでした。
このトピックスは1度終了させていただきます。
本当にありがとうございました。
shin様、こんなにすばらしいサンプルを作って頂き、本当にありがとうございます。
本当に素晴らしいですね。
サンプルのまま今、使っているファイルにインポートしてみたのですが、
うまく動きません。
具体的には、予約一覧のレイアウトで、
objレコード(業務レコード)をクリックしても、カーソルがレコード内に入らず、
テキストの入力ができません。
1から全てのデータをそのままインポートして、
テーブル間でリレーションをして、スクリプトもそのままコピーしました。
全て、サンプルのままだと思うのですが、
なぜかこのような現象が起きます。
フィールドの定義やスクリプト、スクリプトトリガも本当にサンプルと同じです。
なぜでしょうか?
スクリプトの理解もこれから動きを見ながら、学ぶつもりですが、
インポートすることで何か不具合が起きるのでしょうか?
Shin様、お世話になります。
午前中、色々と試行錯誤してやってみましたが、
うまくできません。
Shin様に教えて頂いた、「患者ごとの施術一覧表や、療法士ごとの施術一覧を作りたくなったら今の構造では非常に苦しいです。」
というように、今後、まさに患者の訓練時間の一覧などを作成したいです。
これを実現するためのDB構築に関して、どのようにすればいいのかヒントを頂けないでしょうか?
トピックス違いになってきてしまい申し訳ありません。
Shin様、深夜遅くに回答をいただきありがとうございます。
たしかに、その日の患者一覧を抽出する方法は私には技術不足もあり検討がつきません。
以下のトピックスを参考に一度作ってみたいと思います。
https://fm-aid.com/bbs2/viewtopic.php?id=7992
なるほどですね。
アドバイスを頂き、HIro様、shin様、本当にありがとうございます。
今のところ、予定テーブルに繰り返しフィールドを使って入力したデータを以下のチェックにかけます。
・訓練時間の重複(PT・OT・ST)
・入浴時間の重複
これが完了したら、
1日の患者毎の訓練時間がそろうので、
1日毎の入院患者を一覧にして、
その日毎に患者毎の訓練時間を一覧でリスト表示して印刷をしたいのです。
例) <6/5の予定一覧>
患者A PT 9:40~ OT 13:40~ ST 15:40~
患者B PT 8:40~ OT14:40~
患者C PT14:00~ OT 9:00~ ST 10:00~
・・・・
・・・
・・
こんな感じです。
もし、患者ごとの施術一覧表や、療法士ごとの施術一覧を作りたくなったら、今の構造では非常に苦しいです。
そう考えると、入力用のフィールドは繰り返しフィールドを使わないような運用を考えた方がよさそうということでしょうか?
Shin様のアドバイスをいただき、繰り返しフィールドを1つのフィールドに分解して、
あたらしくフィールドを作りました。
・PT繰り返し[8]
↓
PT1
PT2
・・・
・・
PT8
・OT繰り返し[7]
↓
OT1
OT2
・・
・
OT7
・ST繰り返し[3]
↓
ST1
ST2
ST3
このフィールド定義で、
このトピックスの目的である、患者の訓練時間のかぶりを条件付き書式で教えてくれるにはどうしたらいいでしょうか?
教えて頂けますか?
自己リレーションをはり、自フィールドを List() で取り出して、FilterValues() で絞り込んで、数を数えればいいのですが。
繰り返しフィールドを入力用として使っているので、今後も全ての処理が面倒になっています。それを使わなければ、もっと簡単ですし、処理もスッキリします。
Shin様、ありがとうございます。
そうなんですか。
繰り返しを使用しない方がうまく運用できるのですね。
どうしましょう。
また1から作った方が簡単でしょうか。
1点、分からないことがあるので教えてください。
以前、以下のトピックスで教えてもらいました。
フィールドの色を条件付き書式で変える条件が分からない
https://fm-aid.com/bbs2/viewtopic.php?pid=47893
ありがとうございます。
訓練スタッフ間の、同一患者の訓練時間が重なったら色をつけたいです。
以前相談した訓練患者名[10]を以下のようなフィールドに分解しています。
予定テーブル
・PT繰り返し[8]
・OT繰り返し[7]
・ST繰り返し[3]
・時間
レコード数が20あり、
8:40から20分きざみで時間が配置されています。
やりたいのは、PT、OT、STの訓練時間が重なっている患者レコードがあったら
レコードの色を変えたいです。
例)
PTのAという患者を8:40から実施
STはAという患者を9:20から実施
上記のように20分または40分の間隔で同一患者のレコードがあった場合に色を変えたいです。
同一患者の訓練時間が60分あれば、色は変えなくていいです。
以上のように、PTとOT、ST間で同一患者の訓練レコードに色をつけて注意喚起したいです。
色々、やってみたのですが、うまくできないので教えてもらいたいです。
お願いします。
Hiro様
おかげさまで入浴に関する時間かぶりの条件付き書式ができました。
本当にありがとうございました。
Hiro様、すいません。
>『訓練時刻が9:40の場合に、入浴時刻が9:30と10:00の患者を検知』と言う事ではないですか?
その通りです。
間違っていました。
チポ様、Hiro様、本当にありがとうございます。
おかげ様で少しずつやりたいことができてきました。
もう1点伺っていいしょうか?
訓練を9:00から入って、入浴が9:20の場合なども条件付き書式で色を変えることができますでしょうか?
というのも、訓練を先に入っていて、その後、お風呂の時間と重なるのも防ぎたいのです。
1回の訓練は30分は実施します。
1回の訓練時間は30分の設定で構いません。
9:00から訓練に入れば、9:30まで。
9:30のお風呂と時間は重なっても、訓練が終わったらそのままお風呂に行くので
色は変えない。
色々、要望ばかりで申し訳ありませんが教えて頂けると助かります。
Hiro様、サンプルまで作成していただきありがとうございます。
ルックアップ関数を使ってこんな風にできるのですね。
勉強になります。
ただ、1つ悩みがありまして、
訓練時間のレコードは、
8:40
9:00
9:20
・・
・
と20分刻みでレコードが作成されます。
しかし、入浴は、
9:00
9:30
10:00
・・・
というように30分刻みで予定がされています。
入浴は30分かかるので、同じ患者が入浴が9:00からだったら、9:00~9:30までの間の
訓練の時間と重なったら色をつけたいのです。
つまり、訓練が9:00のレコードと、9:20のレコードですね。
このレコードが9:00からの入浴レコードと重なることになります。
これができないと思ったので、
レコードの番号を指定して、
9:00から入浴があった場合、訓練時間のレコードは9:00と9:20の2レコードに色をつければいいかな。
と単純に考えていたのですが・・・
初めの相談の趣旨と少し乖離してしまい申し訳ありません。
何かいい方法はありますでしょうか?
Fmpro12を使用しています。
今、患者の入浴時間と訓練の時間が重ならないように条件付き書式でチェックする仕組みを作ろうと思います。
訓練時間テーブル
・訓練患者名(繰り返し10)
・時間
・担当(繰り返し10)
入浴時間テーブル
・入浴患者(繰り返し3)
・時間
・入浴名(繰り返し3)
1つのテーブルに対して、1つのレイアウトを作ってそれぞれ定義しています。
何がしたいかというと、
訓練患者名レコードに入ってる患者の名前が、
「入浴時間テーブルのレイアウトの入浴患者レコードと一致したら塗りつぶし色を変える」としたいです。
訓練時間テーブルのレイアウトは、
レコード数 20
時間が8時から30分刻みでレコードが配置されています。
入浴時間テーブルのレイアウトも同じように、
レコードが配置されています。
ここで、訓練フィールドに、「入浴時間と重なったなら色を変える」としたいです。
例えば、訓練フィールドに、
GetNthRecord(訓練患者名 ; 1) = GetNthRecord(入浴時間::入浴患者 ; 1)
と条件付き書式を定義しても、お互いのレコードに同じ患者名が入っているのにも関わらず、
色が変わってくれません。
色々、条件の計算式を変えてやってみましたが、できませんでした。
どうすれば、条件付き書式の色を変えられますか?
リレーションの設定で、書類テーブルのレコード作成に許可を与えれば、
書類テーブルの新規レコード作成は無用です。
自動でレコードが作成されます。
ありがとうございます。
無事にできました。
私のスクリプトの設定が間違っていました。
テーブルBで新規レコードを作成した後に、
フィールドAのIDをテーブルBのIDに挿入していました。
そのため、IDがうまく挿入されなかったのだと思います。
ありがとうございました。
あと、Shin様が言われるように入院日にOnObjectSave トリガーを仕掛けてうまくいきました。
この度はありがとうございました。
ありがとうございます。
>「書類作成テーブル」とは何でしょうか?
すいません。
テーブルBのことです。
1患者毎に毎月1枚の作成が必要な書類です。
なので、月始めに入院している患者は、テーブルAにあるIDをテーブルBにインポートすることで解決しています。
しかし、月の途中で入院してくる患者は、テーブルAで新規登録された(新規レコード作成)段階で、テーブルBに新規レコードを作成してテーブルAのIDを挿入したいのです。
Shin様、ありがとうございます。
以下のトピックスのようなことをやりたいのです。
https://fm-aid.com/bbs2/viewtopic.php?id=7827
新規で入院してきた患者の書類を、入院テーブルにレコードが作成された段階で、
書類作成テーブルに同一患者の書類レコードを作成したいです。
そのため、同じ入院IDをテーブルAでもテーブルBでもリレーションで結んで、
運用したいです。
説明不足で申し訳ありませんでした。
皆さま、ありがとうございます。
色々、自分でやってみて、
もう1度相談させてもらいたいです。
やりたいことは、
「テーブルAに新規レコードが作成されるタイミングで、スクリプトをかけて
テーブルBに新規レコードを作成し、テーブルAで自動入力されたIDをテーブルBのIDフィールドに挿入する」ということです。
テーブルAに新規レコードが作成されるとIDが自動入力されます。
テーブルAのIDフィールドにOnObjectExitをかけても、やはりカーソルの移動がないためか、
うまくテーブルBにIDが挿入されません。
レコードが作成されるタイミングで、別テーブルに新規レコードを作成し、
IDを挿入する方法はないでしょうか?
スクリプトがうまく働かないので教えてください。
テーブルA
ID(自動番号入力)
作成月
テーブルB
ID
作成月
テーブルAで新規レコードが作成されて、IDフィールドが入力されたら、テーブルBにテーブルAのIDとテーブルAの作成月が
入力されるようにスクリプトを作りました。
テーブルAのIDフィールドに、スクリプトトリガ OnObjectExitを使って、
新規レコード作成
フィールド設定[ターゲットフィールド: テーブルBのID] 計算結果:テーブルA::ID
フィールド設定[ターゲットフィールド: テーブルBの作成月] 計算結果:テーブルA::作成月
もちろんテーブルAとテーブルBはIDでリレーションして、
テーブルBでのレコードの作成も許可しています。
このスクリプトだと、フィールドBへIDは入力されるのですが、
なぜかテーブルBの作成月に、テーブルAの作成月が挿入されません。
テーブルBの作成月フィールドは空白のままになっています。
なぜIDフィールドには計算結果が挿入されるのに、
作成月フィールドには計算結果が挿入されないのかが不明です。
もし分かる方がいれば教えていただけますか?
Pages: 1
[ Generated in 0.008 seconds, 6 queries executed - Memory usage: 721.24 KiB (Peak: 774.9 KiB) ]