5 返信 最新の回答 日時: Jun 27, 2014 4:20 AM ユーザー:rabbit7

    全てのレコードを複数複製するスクリプト

    rabbit7

      タイトル

      全てのレコードを複数複製するスクリプト

      フォーラムに投稿

           初めて投稿する初心者です。よろしくお願い致します。

           Filemaker Pro13を使用しています。(Windows8)

           患者データーベースを作成しており、採血ラベルの印刷を行いたいと考えています。

           同じラベルを複数作るにはその数のレコードが必要とのことでしたので、1枚のシートに20個のラベルを印刷するために1人の患者さんのデーターを一時的に19個複製し、印刷後に重複データーを検索、削除しようと考えています。

           重複データの検索、削除のスクリプトは無事動いていますが、最初のレコードを複製するところで躓いています。

            

           「ラベル印刷」というテーブルに下記のフィールドを作ってあります。

           カルテNo ふりがな 氏名 年齢 透析日 共通 重複 カウント

           「共通」と「重複」は複製後の為にあります。

           「カウント」はグローバルにしてもしなくても結果はあまり変わりません・・・

            

           まず下記のスクリプトで実行すると

            

           全レコードを表示

           フィールド設定[ラベル印刷::カウント;0]

           Loop

            レコード/検索条件複製

            フィールド設定[ラベル印刷::カウント;ラベル印刷::カウント+1]

            Exit Loop If[ラベル印刷::カウント=19]

           End Loop

           全レコードを表示

           レコードのソート[記憶する;ダイアログなし]

            

           最初のレコードのみ19個複製されそこで終了してしまいます。

           そこで赤字部分を追加しました。

            

           全レコードを表示

           フィールド設定[ラベル印刷::カウント;0]

      レコード/検索条件/ページへ移動[最初の]

           Loop

            レコード/検索条件複製

            フィールド設定[ラベル印刷::カウント;ラベル印刷::カウント+1]

            Exit Loop If[ラベル印刷::カウント=19]

            レコード/検索条件/ページへ移動[次の;最後まできたら終了]

           End Loop

           全レコードを表示

           レコードのソート[記憶する;ダイアログなし]

            

           これですと最初のレコードが1つだけ複製されて終了します。

            

           ソートで解決や、レコードを対象外にするなど、調べるといろんな方法があるようですが、自力でどう試しても上手くいきません。

           完全に行き詰って非常に困っております。

           教えていただくには情報や書き方が足りないかもしれませんが、よいアドバイス頂ければ助かります。

           よろしくお願い致します。

            

            

        • 1. Re: 全てのレコードを複数複製するスクリプト
          sago350@未来Switch

               そもそもなんですが、1レイアウトに20個のフィールド置けば複製する必要もないような気がします。

               ラベル印刷時にFileMakerProの機能を使っていて、それを流用したいということであれば、20レコードのテーブルにグローバルフィールドを置いておき、印刷時にはそのグローバルフィールドに値をいれてやればいいかと思います。

                

               別の前提があってレコードを複製する事情があるのでしたら、見当違いな回答になると思いますのですみません。

          サンプルファイル

          • 2. Re: 全てのレコードを複数複製するスクリプト
            rabbit7

                 sago35さん、アンサーありがとうございます。

                  

                 Filemakerをよく理解できておらず、教えてくださった方法が自分のやりたい事なのか判断が出来ません・・・

                 申し訳ありません。

                  

                 再度私のやりたいことを記載させていただきますので、教えていただけると助かります。

                 この「採血ラベル」は住所録のようなものですが、違うのは1人の患者さんのラベルを20枚(1シート分)印刷したいところです。

                 Filemakerのラベル印刷は同じものを複数作れないと聞いたので、レコードを複製するしかないと思いました。

                 もし、同じラベルを印刷する方法があればそちらのほうが助かります。

                  

                 また、患者さんは週3回同じ日に治療に来ます。

                 そのグループごとにまとめて印刷したいと考えています

                 グループは「透析日」フィールドで「月AM」「月PM」「火AM」「火PM」の4つです

                 患者名を逐一入力(検索)して印刷するのではなく、同じグループの人をまとめて一括印刷したいです

                 (一括印刷自体は他テーブルで実現済みです)

                  

                 以上私のやりたいことです。

                 伝わるでしょうか・・・

                 分かりにくい点があればご指摘下さい。

                 よろしくお願いいたします。

            • 3. Re: 全てのレコードを複数複製するスクリプト
              Shin

                   ラベルシートを、そのままの状態で、レイアウト上に再現してみましょう。そこに、印刷する内容(氏名など)のフィールドを20個配置すればいいだけのようです。

                   透析グループで検索をかけて、対象レコードを印刷、としてやると、まとめて印刷ができます。

              • 4. Re: 全てのレコードを複数複製するスクリプト
                sago350@未来Switch

                     やはり、1レイアウトに同じフィールドを20個配置するだけでOKです。
                     FileMakerのラベル印刷は市販のラベルサイズが登録されていて自動的に配置されて便利ですが、今回は位置合わせを手動で行う必要があります。

                     まず、定規を用意してラベルの位置を測り、うまいこと収まる様にレイアウトを作って下さい。
                     A4コピー用紙に印刷して、ラベル用紙と重ねて透かせばラベル用紙が無駄にならなくていいです。
                     インスペクタの「位置」タブの「位置」という項目がありますよね。そこの単位をクリックするとpixel、cm、inchと表示を切り替えることが出来ます。cmにして定規で測った数値を入れると位置合わせし易いです。

                サンプルファイル

                • 5. Re: 全てのレコードを複数複製するスクリプト
                  rabbit7

                       Shinさん、sago35さん

                       お2人とも分かりやすい言葉で説明して頂きありがとうございます!

                       フィールドに20個置くと言う意味がやっと理解できました(理解が悪く申し訳ないです)

                       Filemakerがラベル印刷のレイアウトを親切に作ってくれてしまうので、それにこだわり過ぎていました。

                        

                       sago35さん

                       分かりやすい画像とサンプルファイルをありがとうございます。

                       本当に助かりました。

                       早速試してみます。

                        

                       またお世話になるかもしれませんが、よろしくお願い致します。