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

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

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

You are not logged in.

Announcement

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


#1 2020-10-22 13:44:34

咲良
Guest

1レコードごとのレイアウトの変動について

File Maker Pro 15と17を使用しています。

レコード毎にレイアウトの長さを変動させることはできるでしょうか。

ポータル以外の方法があればご教示ください。

ある書面を作成したいのですが、その書面には画像を載せる項目があります。

しかしその画像数はレコードごとにバラバラで、画像数が0枚のレコードもあれば20枚以上のレコードもあります。

枚数に規則性はありませんし上限も決まっていません。

ただ、書面1ページに載せられる画像は4枚と決まっています。

つまり、
画像数が0~4枚のものは書面1枚
画像数が5~8枚のものは書面2枚
画像数が21枚なら書面は6枚
と増えていきます。

もしこれを画像を縦に並べるレイアウトで表示させたい場合、
1番多い画像数に合わせてその数だけフィールドを配置し、
レイアウトはそれが収まるだけの長さにする必要が出てきます。

ですが、そうするといくつか問題が発生します。

①画像数の上限が決まっていないため、予めフィールドの数を決めておくことができない。

②画像数が少ないレコードの場合だと、空白のフィールドが無駄に存在してしまう。

③空欄のフィールドを非表示にしてもレイアウト自体の長さは変わらないため無駄な余白ができてしまう。

④レイアウトを画像数に応じて数パターン用意するにしても、上限が分からないため何パターンあれば良いのかが不明

つまり、画像数に応じてフィールドの数を増減させ、かつそれに合う長さに変動するレイアウトにしたいのです。

繰り返しですが、ポータル以外の方法があればご教示ください。

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

#2 2020-10-22 14:53:11

Hiro
Member

Re: 1レコードごとのレイアウトの変動について

レイアウトは汎用のページ・レイアウトただ1つとして、
そこに、ページ番号で動的指定された関連画像を入れ替え表示すれば良いかな?
例えば、(具体計算式は)
・必要ページ数: Int( 関連画像数÷4+1 )
・各表示4画像: GetNthRecord(関連::画像; (ページ番号-1)*4+1)、GetNthRecord(関連::画像; (ページ番号-1)*4+2)、・+3、・+4

Offline

#3 2020-10-22 15:43:49

咲良
Guest

Re: 1レコードごとのレイアウトの変動について

>Hiroさん

ご回答ありがとうございます。

初歩的なことですみません。

レイアウトに対して関連画像を入れ替え表示とは、具体的にどのような機能で行うのでしょうか?

また必要ページ数の計算式は理解できますが、この式をどこに対して使用するのかが分かりません...。
印刷時のページ枚数ということでしょうか。

#4 2020-10-22 15:56:56

Hiro
Member

Re: 1レコードごとのレイアウトの変動について

動作の具体的イメージは、このサイトの ホームページ の表示方と同じです。

Offline

#5 2020-10-22 16:12:16

咲良
Guest

Re: 1レコードごとのレイアウトの変動について

>Hiroさん

つまり1つのレイアウト上に画像フィールド4つとページ数を表示するフィールドを配置、
それに加え、押すとページ数フィールド内の数字が必要ページ数を上限として1つずつ増えていくボタンも配置。
それを押すことによって画像フィールドの計算式(GetNthRecord)が再計算され、表示される画像が変化するということでしょうか。

#6 2020-10-23 01:54:28

Hiro
Member

Re: 1レコードごとのレイアウトの変動について

咲良 wrote:


つまり1つのレイアウト上に画像フィールド4つとページ数を表示するフィールドを配置、
それに加え、押すとページ数フィールド内の数字が必要ページ数を上限として1つずつ増えていくボタンも配置。
それを押すことによって画像フィールドの計算式(GetNthRecord)が再計算され、表示される画像が変化するということでしょうか。

その通りです。
一応、実装サンプルを作りましたので、ご覧ください。

●実装サンプル「不定数画像のページ割表示.fmp12」 → https://1drv.ms/u/s!AlaCGhTKTWEO9EaFqNj … A?e=RXkgAm

Offline

#7 2020-10-23 14:16:27

咲良
Guest

Re: 1レコードごとのレイアウトの変動について

>Hiroさん

サンプルデータありがとうございます。
お手数をおかけしてすみませんでした。

早速拝見させていただきました。

概ね私の問題を解決できると思います。
大変助かります。

ただ、いくつか気になる点もございました。

①ページ一覧のリセットについて
マスタレイアウトとページ一覧フィールドにスクリプトトリガが設定されておりますが、
それに使われているスクリプトの中に出てくる表示ページフィールドはレイアウト上に配置されていないのでしょうか。


②ページ一覧ボタンについて
枠が10個までと決まっているようですが、これを完全に動的にすることは可能なのでしょうか。

また、2ページだった場合、不要な8ページがクリックで浮き彫りになりますが、
これを完全に非表示にすることは難しいのでしょうか。


③印刷について
ページ一覧のボタンをその都度押せば全ページ印刷はできますが、
1レコードの全ページをまとめて印刷することは可能なのでしょうか。

度々の質問ですみません。
何卒よろしくお願いいたします。

#8 2020-10-24 01:14:27

Hiro
Member

Re: 1レコードごとのレイアウトの変動について

①ページ一覧のリセットについて
マスタレイアウトとページ一覧フィールドにスクリプトトリガが設定されておりますが、
それに使われているスクリプトの中に出てくる表示ページフィールドはレイアウト上に配置されていないのでしょうか。

ページ関連情報はページ一覧フィールドですべて分かります。
あえて表示ページフィールドを表示する理由も無いので、省略しています。


②ページ一覧ボタンについて
枠が10個までと決まっているようですが、これを完全に動的にすることは可能なのでしょうか。

枠設定は事前固定で、動的にすることは出来ません。
そこで、不用枠部分は空欄にすることで、一見動的一覧に見えるように偽装しているわけです。
※10個は仮定値(最大40画像分)で、ご自分で必要なページ枠数に設定変更できます。

また、2ページだった場合、不要な8ページがクリックで浮き彫りになりますが、
これを完全に非表示にすることは難しいのでしょうか。

それをしたいなら、もう一手間加えます。
「レイアウトオブジェクトの非表示」機能を利用しますが、
「ページ一覧」繰り返しフィールドを1項目ごとに切分け分離配置し、個々に「非表示」の設定をする必要があります。
なお、非表示の時の条件式は、Int(Count(画像::画像)/4+1) < Get(計算式繰り返し位置番号)


③印刷について
ページ一覧のボタンをその都度押せば全ページ印刷はできますが、
1レコードの全ページをまとめて印刷することは可能なのでしょうか。

画像テーブル側で印刷レイアウトで印刷します。
・現在の1レコードだけなら → 「関連レコードへ移動」を使います。
・複数対象レコード分なら  → 集計レイアウトを使います。

Last edited by Hiro (2020-10-24 01:25:06)

Offline

#9 2020-10-27 18:10:22

咲良
Guest

Re: 1レコードごとのレイアウトの変動について

>Hiroさん

ご丁寧にありがとうございます。

1レコード中の全ページを印刷するのがまだ理解できていませんが、引き続き挑戦していきたいと思います。

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: 542.23 KiB (Peak: 563.13 KiB) ]