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

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

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

You are not logged in.

Announcement

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


#1 2021-11-10 20:40:48

MM初心者
Guest

複数のフィールドをコピーし別のテーブルの各フィールドに張り付けるスクリプトを作りたいのですが、うまくいきません。助けてほしいです。

バージョンは17を使用してます。
テーブル1<基本情報>(氏名)フィールド、(透析クール)フィールド、(ベッド番号)フィールドなどあります。
テーブル2<透析スケジュール>(日付)フィールド、(氏名)フィールド、(透析クール)フィールド、(ベッド番号)フィールドなどあります。

<基本情報>テーブルに<透析スケジュール>の氏名とリレーション組み、ポータルで各氏名ごとの日付順透析スケジュールを表示しています。
今現在は、このポータルの近くに「新規作成」ボタンと、「次の日作成」ボタンを配置してます。

悩み中の箇所は、「新規作成」ボタンを押した際に、
<透析スケジュール>テーブルに新規作成し、
<基本情報>テーブルにある(氏名)フィールド、(透析クール)フィールド、(ベッド番号)フィールドをそれぞれコピーし、
<透析スケジュール>テーブルの(氏名)フィールド、(透析クール)フィールド、(ベッド番号)フィールドに貼り付けたいのですが、コピペでうまくすべての項目を貼り付けることができません。
レイアウト切替しながら一つ一つコピーしてレイアウト戻っては貼り付けてと繰り替えしてみたのですがうまくいきませんでした。
コピペで複数はできないのでしょうか?
条件として、新規作成ボタンは、<透析スケジュール>テーブルに一度もスケジュール作成してないことが、必須条件として考えています。

ご教授お願い致します。

#2 2021-11-10 22:41:43

おうか
Member

Re: 複数のフィールドをコピーし別のテーブルの各フィールドに張り付けるスクリプトを作りたいのですが、うまくいきません。助けてほしいです。

簡単に失礼します。
コピーではなく“変数を設定”にし、貼り付けではなく“フィールド設定”に変えて作成してみてください。

Last edited by おうか (2021-11-10 22:42:23)

Offline

#3 2021-11-11 04:05:40

Shin
Member

Re: 複数のフィールドをコピーし別のテーブルの各フィールドに張り付けるスクリプトを作りたいのですが、うまくいきません。助けてほしいです。

データベースらしい動きでは、基本情報テーブルと透析スケジュールテーブルを患者氏名(同姓同名もあり得るので患者IDが望ましいですが)でリレーションしておき、リレーションを通してスケジュールテーブルにレコード作成を許可しておきます。
そのリレーションを通して、スケジュール側にレコードを作ります。(氏名をフィールド設定でいいです)透析クール、ベッド番号は、ルックアップさせておくといいでしょう。

Offline

#4 2021-11-12 18:27:34

MM初心者
Guest

Re: 複数のフィールドをコピーし別のテーブルの各フィールドに張り付けるスクリプトを作りたいのですが、うまくいきません。助けてほしいです。

おうか先生 返信ありがとうございます。
ですが、申し訳ありません。まだ変数の設定の仕方と使用方法まで理解しきれておらず悪戦苦闘している日々なので、どう設定したらよいのかわかりません。すみません。
もし、よろしければお時間のある時で構いませんので、詳しくご教授して頂きたく思います。

Shin先生 返信ありがとうございます。
氏名ではなくIDでのリレーションに関しては、私も感じました。今後氏名リレーションがらIDリレーションへ変更頑張って組みなおしていきたいと思っております。
今回の、スクリプトですが、とりあえず氏名でリレーションを行い、クールとベッド番号は基本情報からルックアップするよう設定した上で、
スクリプト作成で、①レイアウト切替え(スケジュールへ)②レコード新規作成③フィールド設定【基本情報:氏名】として、基本情報テーブルにボタンを置き押してみたのですが、
レイアウト切替して、レコード新規作成までで、自動入力(氏名、クール、ベッド番号)ができませんでした。。。

基本情報テーブルに置いたボタンを押すだけで、スケジュールテーブルに新規レコードって可能なんでしょうか?

すみません。先生方からしたら基本的なことかもしれませんが、どうかご教授をお願いします。

#5 2021-11-12 18:36:56

Shin
Member

Re: 複数のフィールドをコピーし別のテーブルの各フィールドに張り付けるスクリプトを作りたいのですが、うまくいきません。助けてほしいです。

透析スケジュールの日付は、何が入力されていくのですか。今日の日付?将来の日付?
クールとベッド番号のフィールドに、自動入力でルックアップの設定を行なっていますか。

私が作るのでしたら、基本テーブル側にグローバルフィールドで日付フィールドを作り、日付と患者IDでリレーションしておきます。動きは、スケジュール;;患者IDに患者IDを設定するだけです。
または、基本テーブルに ID でリレーションしたスケジュールをポータルで表示させておき、新規行に日付を入力させる、という運用にします。
どちらも、スクリプトは不要です。
https://www.dropbox.com/s/2tkvno0bvmhk9 … 2.zip?dl=0

Last edited by Shin (2021-11-13 16:07:51)

Offline

#6 2021-11-13 09:03:01

おうか
Member

Re: 複数のフィールドをコピーし別のテーブルの各フィールドに張り付けるスクリプトを作りたいのですが、うまくいきません。助けてほしいです。

例で簡単に作ってみますね。
変数を設定($氏名;値:基本情報::氏名)
変数を設定($透析;値:基本情報::透析クール)
変数を設定($番号;値:基本情報::ベッド番号)
レイアウト切り替え
新規レコード/検索条件
フィールドの設定(透析スケジュール::氏名;$氏名)
フィールドの設定(透析スケジュール::透析クール;$透析)
フィールドの設定(透析スケジュール::ベッド番号;$番号)
簡単ですがこれでいけるかと思います。

コピーをしたい値
変数を設定($氏名;値:基本情報::氏名)
変数を設定($(好きに名前を付けてください);値:テーブル::フィールド)
貼付け先
フィールドの設定(透析スケジュール::氏名;$氏名)
フィールドの設定(テーブル::フィールド;$コピーをしたい変数の名前)

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, 9 queries executed - Memory usage: 518.65 KiB (Peak: 523.55 KiB) ]