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

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

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

You are not logged in.

Announcement

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


#1 2020-06-13 17:01:45

doricia
Guest

ポータルフィルタの条件指定について

いつも参考にさせて頂いております。

この度、初めて投稿させて頂きますので、言葉足らずな事が多いと思いますが、是非ご教授をお願いします。

環境:WIN10/FM11です。

テーブル「請求書」と、テーブル「データ」の2つのテーブル間でのお話です。
「テーブル:請求書」のレイアウトに、「データ:明細と金額(テキストと数字)」「データ:小計(集計)」をポータル表示させています。

1ページに25行のポータル表示をさせており、26行以上になると2ページ目に、更に51行以上になると3ページ目に行く様に構成しています。

ポータル表示は、明細表示用の25行のポータルと、小計表示用の1行のポータルを各ページに設けています。
※小計表示用の1行は、各項目毎の集計なので、フィールド5個ほど並べてます。

明細表示用のポータルは、表示を1ページ目「1」~25行、2ページ目「26」~25行、3ページ目「51」~25行と表示する様にして上手く行ってます。
全て同じリレーションのポータルです。

レイアウトは、1つのレイアウトに3ページ分を縦に並べて、レイアウトのページ設定で、A4で最大3ページ分印刷出来る様にしています。

問題は、各ページ毎の小計を出すのにつまづいており、ポータルフィルタをかけて各ページ毎の小計を出そうと試みてます。

それで、1ページ目のポータルのフィルタに「データ:レコード番号>26」をかけて、「データ」テーブルの「小計」集計フィールドは、うまく表示出来ました。
※「データ:レコード番号」フィールドは、計算フィールドの「Get(レコード番号)」です。

ですが、2ページ目の小計用のポータルのフィルタに「データ:レコード番号<25」とした時点で表示が無くなってしまいます。
ポータルのフィルタに「データ:レコード番号<25 and データ:レコード番号>51 」と指定出来れば、2ページ目の「小計」集計フィールドもうまく表示出来るのかと思い、色々と条件を試しましたがダメでした。

どなたか分かる方がいらっしゃれば、是非ご教授お願い致します。

#2 2020-06-13 17:26:56

doricia
Guest

Re: ポータルフィルタの条件指定について

質問文の訂正

大変失礼しました。
質問文で間違いがありましたので、訂正させて下さい。

13行目の文章で、「データ:レコード番号>26」と書いてますが、正しくは、「データ:レコード番号<26」です。

15行目からも同様に、「データ:レコード番号<25」→「データ:レコード番号>25」、
16行目も、「データ:レコード番号<25 and データ:レコード番号>51 」→「データ:レコード番号>25 and データ:レコード番号<51 」です。

※すべて、大なり小なりを逆にしてしまいました。
訂正いたします。

#3 2020-06-14 02:36:40

Shin
Member

Re: ポータルフィルタの条件指定について

ポータルでの印刷は面倒ですよ。
明細テーブル側で集計レイアウトで印刷した方が、柔軟性があり楽です。

とりあえず、今のままで使うとして、
明細側に伝票ごとのシリアル番号(0開始)を持たせておき、Div ( シリアル番号 ; 25 ) という計算フィールドを用意します。
各行の表示用と小計表示用のポータルに、計算フィールド = $$n というフィルターを設定しておきます.
変数を設定 で $$n に0を設定すると1ページ目が、1を設定すると2ページ目が表示されるようになります。印刷時には、$$n を増やしていく loop を作るといいでしょう。

明細側で作業するには、その計算フィールドで集計するといいです。小計パートに集計フィールドを設定するだけで表示されます。

Last edited by Shin (2020-06-14 08:58:44)

Offline

#4 2020-06-14 22:29:00

doricia
Guest

Re: ポータルフィルタの条件指定について

shin様 ご回答ありがとう御座います!

今まで一度も使った事の無かった、「div関数」の活用大変勉強になりました!

明細側に「シリアル番号」フィールドを設けて、小計表示用ポータルのフィルタに「$$n」の設定でやりたい事は出来ました!
ありがとう御座いました!

ただ、ご指摘頂いた様に面倒な作りにした為、明細側のシリアル番号を振るのに苦戦しそうです。
複数のクライアントがいて、月毎にそれぞれのクライアントの明細を表示させたいので、クライアント毎に連番のシリアル番号を振れる様に、更に言うと月毎にシリアル番号を「0」からにする様に頭を悩ませたいと思います。

今回、質問させて頂いた件は、shin様に回答頂いた手法で解決した為、解決済みとさせて頂きます。
ありがとう御座いました!

Registered users online in this topic: 0, guests: 1
[Bot] claudebot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 7 queries executed - Memory usage: 508.7 KiB (Peak: 515.55 KiB) ]