5 返信 最新の回答 日時: May 11, 2013 1:09 PM ユーザー:ishib

    納品書分割印刷レイアウト作成。get(レコード番号)が思い通りの順...

    ishib

      タイトル

      納品書分割印刷レイアウト作成。get(レコード番号)が思い通りの順番にできません。

      フォーラムに投稿

            

           FM pro ver12,MacOS X10.8を使用しています。
           を参考に納品書の印刷用レイアウトを作成しました。月によって30〜50行ほどになりそうな納品書を自動的に20行ごとに分割するところまではうまくいったのですが、その順番が思うように表示させる事ができません。テーブル・フィールド・リレーションの設定は以下の通りです。
            
           [テーブル納品書]
           (日付)納品開始日
           (日付)納品締日
           (グローバルフィールド)印刷ページ
            
           [テーブル納品書詳細]
           (日付)納品日
           (計算)納品書何行目=get(レコード番号)
           (計算)納品書印刷何ページ目=Ceiling(納品書何行目/20)
            
           リレーション
           納品開始日≦納品日≦納品締日
           印刷ページ=納品書印刷何ページ目/20
            
           納品書の1行目から納品日順に並べたいのですが、get(レコード番号)の戻り値が納品日順にならないため印刷用納品書レイアウト上で順番がバラバラになってしまいます。何かいい方法は無いでしょうか。
            

        • 1. Re: 納品書分割印刷レイアウト作成。get(レコード番号)が思い通りの順...
          Shin

               このような印刷には、ポータルで制御すると面倒ですし、連続印刷ができませんので、ページ編集などの小細工もそのままではできません。あくまで初めて触る初心者向けのサンプルと思ったほうがいいでしょうね。

               とりあえず、その中で続けるのでしたら、リレーションの条件に、ソート条件を追加するといいでしょう。

               将来的なことを見越した機能としては、詳細側へ、関連レコードへ移動、を行い、そちらでソートした上で印刷されるといいでしょう。(印刷用の無駄なリレーションも排除できます)

               詳細テーブル側のレイアウトで、ヘッダとフッタを設定し、印刷します。何ページにわたろうと、1操作で印刷が可能です。また、タイトルヘッダなどを利用すると、1ページ目のみ大きなタイトルを付け、それ以降は内容のみ、という印刷も可能です。

          • 2. Re: 納品書分割印刷レイアウト作成。get(レコード番号)が思い通りの順...
            ishib

                 Shinさん

                 教えていただいた通り、納品書詳細のリスト形式を利用する事でスマートに目的を達成する事が出来ました。リスト形式は今までなじみが無かったので印刷レイアウトがこんなに簡単にできるとは思いませんでした。ありがとうございました。

                  

            • 3. Re: 納品書分割印刷レイアウト作成。get(レコード番号)が思い通りの順...
              ishib

                   Shinさん

                   >詳細テーブル側のレイアウトで、ヘッダとフッタを設定し、印刷します。何ページにわたろうと、1操作で印刷が可能です。また、タイトルヘッダなどを利用すると、1ページ目のみ大きなタイトルを付け、それ以降は内容のみ、という印刷も可能です。

                   タイトルヘッダで1ページ目のみレイアウトをかえる事と同じように、最後のページのみレイアウトをかえる事は出来るのでしょうか?また印刷総ページ数を何らかの方法で取得することは可能でしょうか?

                   やりたい事は以下の通りです。

                   1)「現在ページ数」のみを印刷してるのを、「現在のページ数/総ページ数」のように変更する

                   2)総請求額をタイトルヘッドを利用して1ページ目のみに印刷していますが、同じように最後のページのみに「今月請求ここまで」のような一文を表示する

                   追加の質問で恐縮ですが、よろしくお願いいたします。

                    

              • 4. Re: 納品書分割印刷レイアウト作成。get(レコード番号)が思い通りの順...
                Shin

                     残念ながら、今のファイルメーカーの使用では、最終ページだけのレイアウトの変更はできません。タイトルヘッダ、タイトルフッタのような機能は、タイトルページ(トップページ)のみです。

                     最終ページ番号は、

                     プレビューモードへ変更
                     最後のレコードへ移動
                     変数を設定[$n ; Get ( ページ番号 )]
                     ブラウズモードへ変更

                     で、変数 $n へ収納されます。

                     最後のレコードの下に何らかの文字が必要でしたら、後部総計パートを使われればいいでしょう。ただ、場合によっては、次ページに送られてしまうことがあります。

                • 5. Re: 納品書分割印刷レイアウト作成。get(レコード番号)が思い通りの順...
                  ishib

                       Shinさん たびたびありがとうございます。試す時間がなくて、お返事が遅れ申し訳ありませんでした。

                       1)最終ページ番号、教えていただいたスクリプトで取得できました

                       2)後部総計パートを利用して最後のレコードの後に請求の終了を示す一文を記載する事も期待通りに動作しました。レコード数がちょうど切りよくページの最後で終わってしまった場合には次ページに送られてしまうんですね。