8 返信 最新の回答 日時: Jan 17, 2015 3:34 AM ユーザー:sago350@未来Switch

    コピーボタンを作成したいのですが

    ポンタ

      タイトル

      コピーボタンを作成したいのですが

      フォーラムに投稿

      いつもお世話になります。

      A:アセスメントテーブル:   作成日、名前、身長、体重等

      B:アセスメント_食事テーブル: 作成日、名前、主食、副食等

      C:アセスメント_動作テーブル: 作成日、名前、寝返り、移動等

      A,B,Cテーブル 作成日、名前でリレーションが貼ってある。

      上記の状態で、登録されている患者のアセスメントを複写して新規作成するボタンを作成したいのですがどのようにすればよいのでしょうか?ご教授お願いいたします。

        • 1. Re: コピーボタンを作成したいのですが
          sago350@未来Switch

          コピーしたい情報を変数に格納すれば出来るかと思います。

          変数に格納→新規作成→それぞれのテーブルで新規レコード→変数の値を入れる。

          ざっくりですが、上記のような感じになります。

          • 2. Re: コピーボタンを作成したいのですが
            ポンタ

            sago35さん回答有難うございます。詳しく教えて頂きたいのですが、変数に格納する場合、Get関数でいいのですか?

            それとスクリプトにどのように記入すればいいのでしょうか?それとそれぞれのテーブルで新規作成する方法はどのように定義すればいいのでしょうか?また退避させた内容を戻す場合はどう定義すればいいのでしょうか?初歩的なことですみません。ご教授お願いします。

             

            スクリプト実行「コピー」;引数;get(??????)

             

            「コピー」スクリプト

              ?????

             新規レコード/検索条件

              

            • 3. Re: コピーボタンを作成したいのですが
              Shin

              氏名以外が同じレコードを作る,という事でしたら、各テーブルでレコードの複製を行なって、氏名を変更してけば良いと思いますが。

              作成日が自動入力になっているのでしたら、関連先の氏名をフィールド設定で変更していき、最後に自分を変更すれば、レイアウトの変更等をしなくても作業可能です。

              フィールド設定[B:アセスメント_食事テーブル::名前 ; 新しい名前]
              フィールド設定[C:アセスメント_動作テーブル::名前 ; 新しい名前]
              フィールド設定[名前 ; 新しい名前]
              • 4. Re: コピーボタンを作成したいのですが
                sago350@未来Switch

                Get関数じゃないですね。
                それと「複製」という意味がどういうことがよく解らないのです。おっしゃったとおりに作ると、リレーションの条件が作成日と名前ですので、どちらかのキーが変更されると、関連レコードではなくなってしまいます。

                例えば、複製後に作成日を変更すると、食事と動作のテーブルは自動的に変更されないので、消えてしまいます(データは残っていますが、表示されなくなります)。

                と、仕様を色々想像して作ってみました。

                こんな感じですかね?

                サンプルファイル

                想像では、新しい作成日と名前を入力して複製すればいいのかと思い、そんな感じで作ってます。

                • 5. Re: コピーボタンを作成したいのですが
                  sago350@未来Switch

                  こちらはスクリプトの画像です。

                  やっていることは、作成日とか名前を変数というハコに格納して、新規レコードしてから、そのハコの中身を貼り付ける感じです。
                  「$ナントカ」と書いてある部分が変数というものです。
                  「$ナントカ[$cnt]」は$cnt番目のハコという意味です。
                  具体的に言うと
                  「$主食[1]」←中身は"ピザ"
                  「$主食[2]」←中身は"焼き肉"
                  となります。

                  これはFileMaker的に言うと"繰り返し"と言います。他のプログラムで言うと"配列"と言います。

                  明細(関連レコード)を含めた複製の方法は、他にも方法がありまして、
                  ・レコード複製を使ったパターン
                  ・エクスポート/インポートを使ったパターン
                  があります。
                  今回は変数を使ったパターンです。

                   

                  今回は明細が複数あるという妄想で作っていますが、食事と動作テーブルがポータルではなく、1レコードしか存在しないのであれば、スクリプトはもっと簡単になります。(繰り返しを使わなくてよくなります)

                  • 6. Re: コピーボタンを作成したいのですが
                    ポンタ

                    解りやすい説明付のサンプル有難うございます。サンプルを使用して勉強させて頂いていたので返信遅くなってすみません。指摘の通り、今まで使っていてキーが変更になったら、消えてしまうことがあり、不便を感じていました。このコピー機能があれば、体の状態が似た人にも少しの変更で対応でき汎用性が持てると思います。ここまで考えて頂き有難うございます。そこで、質問があります。知識としては、EXCELのマクロを少しかじった程度ですので、当たり前のことを質問しているかもしれませんが、御指導お願いします。

                    今回スクリプト作成は初めてです。

                           
                    1. アセスメントテーブル内でグローバルフィールドを定義することにどういった意味があるのですか?
                    2.      
                    3. 食事と動作テーブルは1件しかありません。
                    4.      
                    5. できればコピーボタンを押せば、ポップアップウインドウが開き、そこに名前と作成日が入力でき、その画面で、実行ボタンを押せば変更できるようにしたいです。
                    6.      
                    7. 後、画面のコピー画像やスクリプトの画像をどういった画像ソフトを使用しておられるんですか?教えて下さい。

                    以上 宜しくお願いします。

                     

                     

                    • 7. Re: コピーボタンを作成したいのですが
                      ポンタ

                      SHINさんの指摘通り、その方法でもできますね。教えて頂いて有難うございます。

                      • 8. Re: コピーボタンを作成したいのですが
                        sago350@未来Switch

                        1.の理由
                        3.の要望を満たすため。
                        グローバルフィールドを入力フォームに使っています。そこに好きな名前と作成日を入れればOKです。
                        でもって、ポップオーバーの機能を使ってそれっぽくすれば、要望は満たせるかと。

                        2.1件だけなら、あそこまで長いスクリプトじゃなくて良かったですねw

                        4.画像ソフトはSkicthというソフトを使っています。