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

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

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

You are not logged in.

Announcement

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


#1 2023-02-28 14:44:11

れむ
Guest

複数フィールドにおけるボディ高さの可変コントロール

初めまして。作業報告書をfilemakerで作成しようとしています。

テーブル内に「担当」「作業分類」「作業内容」の3つのフィールドが存在しており、1つの作業分類に対して複数の作業内容が紐づいています。
「作業分類」「作業内容」ともに内容が1行~30行と前後することがあります。

担当ごとの作業レポートをリスト形式で表示し、これをPDFファイルとしてレポート出力するところまでをゴールと考えています。
レポートのイメージはエクセルの様に、A列に作業分類・B列に紐づく作業内容が表示されており、A列は内容が同じであれば結合で1つのセルの様に見せたいです。

フィールドの表示・非表示機能を使用し1行目のみに「作業分類」を表示することで、上記のようなセル結合風レイアウトを作ることは可能なのですが、
「作業分類」「作業内容」という2つの可変行フィールド内容に応じてボディの高さを調整し、レポートとして出力する・・という部分のアイデアが出てきません。
スライドコントロールの使用も試しましたが、「作業分類」の行が多いと「作業内容」の行が少なくても1レコード目のみボディ高さがやたらに長くなってしまい、不格好なレポートとなってしまいます。

テーブル構成・レイアウト構成などの根本仕様の変更でも構いません、何かこういったレポート出力に関して良いアイデアはありませんでしょうか?

#2 2023-02-28 15:27:55

himadanee
Guest

Re: 複数フィールドにおけるボディ高さの可変コントロール

>1つの作業分類に対して複数の作業内容
こういう時は、作業内容は別テーブルにしてリレーション設定するのが定番です。
作業内容のテーブルのリストレイアウトを作ることになります。(他の2つのフィールドは、いまあるテーブルのものを表示)

#3 2023-02-28 16:23:33

れむ
Guest

Re: 複数フィールドにおけるボディ高さの可変コントロール

>himadaneeさん

早速の返信ありがとうございます。
別テーブルでのリレーションとした場合でも、2つのフィールド行数に応じて高さを調整する・・という問題が解決しない気がしています。
(作業内容テーブルのリストとし、3行の作業内容×3レコード分を表示した場合、別テーブルから配置した作業分類フィールドは10行入力していても3行までしか表示されませんよね?)
作業内容の合計行数・作業分類の行数が何行であっても、すべてのフィールド内容が見えるよう調整したいのです。
私の理解が間違っていれば申し訳ありません。よろしければ教えて頂けると助かります。

#4 2023-02-28 16:26:41

himadanee
Guest

Re: 複数フィールドにおけるボディ高さの可変コントロール

FMのレイアウトでは、あいにく行数の自動拡張という機能はないので、想定される最大行数に合わせてフィールドを配置しておく必要があります。
余白が最小になるように「スライド」機能を使います。
https://help.claris.com/ja/pro-help/con … paces.html

#5 2023-02-28 16:37:49

チポ
Member

Re: 複数フィールドにおけるボディ高さの可変コントロール

一つの担当に対して、
複数の作業分類があり、
その作業分類一つに複数の作業内容がある。

として、、
1作業分類ごとに1レコードのテーブルを作り、
そのリストレイアウトをスライド設定。

作業内容は、
集計等必要なら別テーブルにして、作業分類のレイアウトにポータルで表示。
単に一覧なら、作業分類のフィールドとして、改行で表示でいいのでは。

Offline

#6 2023-02-28 17:14:31

れむ
Guest

Re: 複数フィールドにおけるボディ高さの可変コントロール

>himadaneeさん

作業分類フィールドの想定最大行数を10行としてスライド機能を設定した場合、余白は調整され9行分の作業分類フィールドは問題なく表示されるということですね。
となるとやはり以下の様に、1レコード目は作業内容フィールドが3行なのに9行分の高さになり、2レコード目と3レコード目は3行分の高さになってしまいますね。。

作業分類     作業内容
------------------------------------
1行目         1行目
2行目         2行目
3行目         3行目
4行目
5行目
6行目
7行目
8行目
9行目
--------------------------------------
                1行目
                2行目
                3行目
---------------------------------------
                1行目
                2行目
                3行目
---------------------------------------

どうにかして以下の様に表示したいのですが、難しいでしょうか?

作業分類      作業内容
------------------------------------
1行目          1行目
2行目          2行目
3行目          3行目
4行目   ------------------------
5行目          1行目
6行目          2行目
7行目          3行目
8行目   ------------------------
9行目          1行目
                  2行目
                  3行目
------------------------------------

#7 2023-02-28 17:57:56

れむ
Guest

Re: 複数フィールドにおけるボディ高さの可変コントロール

>ちぽさん

返信ありがとうございます。
仰る通り、当初は作業分類のテーブルをリスト表示してスライド設定し、作業内容のポータルを配置することを考えていました。
データの入力は問題ないのですが、最終的にPDFとしてレポート出力することを考えた際に

①作業分類の行数が可変
②作業内容の行数が可変
③作業分類に紐づける作業内容レコード数が可変

という3つの状況において、すべてのフィールド内容が表示され、レイアウトとしても綺麗にまとまったPDFレポートが出力できず困っています。
ポータルにもスライド設定を適用しようとしましたが、③の条件があるので作業内容のレコード数 > ポータル表示行数になると見えなくなってしまいます・・
また事情もあり、出来ればポータルを使わずリスト表示だけで解決したいのですが、やはり難しいのでしょうか・・

#8 2023-03-01 08:55:26

Shin
Member

Re: 複数フィールドにおけるボディ高さの可変コントロール

https://www.dropbox.com/s/dpgxe697ngecj … 2.zip?dl=0
これでいかがですか。(プレビューで整形されます)

Offline

#9 2023-03-01 16:00:30

れむ
Guest

Re: 複数フィールドにおけるボディ高さの可変コントロール

>Shinさん

まさに求めていたレイアウトです!ありがとうございます。
ヘッダとフッタをまたいでもプレビューに表示されるのは初めて知りました。

しかし同じように設定しても上手く表示されず、Shinさんのレイアウトや設定とも見比べてみたのですが、原因が分かりません。
通常であれば、プレビューモードでもブラウザと同じような表示になると思うのですが、具体的にどの部分の設定を変えると、このようにプレビュー整形できるのでしょうか?
知識不足で申し訳ありませんが、ご教授いただければ嬉しいです。

#10 2023-03-01 17:13:57

Shin
Member

Re: 複数フィールドにおけるボディ高さの可変コントロール

何がうまくいきませんか?

Offline

#11 2023-03-01 18:36:51

れむ
Guest

Re: 複数フィールドにおけるボディ高さの可変コントロール

>Shinさん

焦りから漠然とした質問を投げてしまいました。申し訳ありません。
自己解決しました。ボディパートの塗りつぶしがされていたためにプレビューで正常に表示されなかったようです。お騒がせしました。

ですが、新たな問題が出てきたので相談させてください。
追加で以下要件も実装することになりました。
①1担当につき複数の作業分類レコードを登録する
②作業分類の上に「エリア」フィールドを作成し、担当ごと・エリアごとの作業分類と内容をレポートで出力する

Shinさんの方法ですと、作業分類ごとに改ページ&作業内容は分類に関わらずスライドで詰められてしまうため、①の実現が難しそうです。
また、②に関してもエリアの小計パートをヘッダとボディの間に挿入しようと思っているため、小計パートに作業分類のフィールド内容がまたいでしまい、想定している表示にならなさそうです。

下記のようなレイアウトで、かつ可変行数にも対応したようなレポートを出力したいのですが、難しいでしょうか・・

----------------------------------------------↓以下ヘッダ
      「作業報告書」
----------------------------------------------↓以下エリアの小計パート
エリア1    「作業分類」      「作業内容」
----------------------------------------------↓以下ボディ
           作業分類1  作業内容1
           1行目            1行目
           2行目            2行目
           3行目            3行目
           4行目          ----------------
           5行目          作業内容2
           6行目           1行目
           7行目           2行目
           8行目     -----------------
           9行目          作業内容3
                             1行目
                             2行目
----------------------------------------------
           作業分類2  作業内容4
           1行目            1行目
           2行目            2行目
           3行目            ----------------
           4行目           作業内容5
           5行目         1行目
           6行目          ---------------- 
           7行目           
           8行目       
----------------------------------------------↓以下エリアの小計パート
エリア2    「作業分類」      「作業内容」
----------------------------------------------↓以下ボディ
           作業分類3  作業内容7
           1行目            1行目
           2行目            2行目
           3行目            3行目
                        ----------------
                        作業内容8
                        1行目
                              2行目
                   -----------------
                         作業内容9
                              1行目
                              2行目
----------------------------------------------

#12 2023-03-03 13:39:05

Shin
Member

Re: 複数フィールドにおけるボディ高さの可変コントロール

classic という大昔のテーマではできたんですが、今のテーマでは無理ですね。
Virtual list で1分類ごろに作り込めばいいのでは。

Last edited by Shin (2023-03-03 17:41:50)

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 600.78 KiB (Peak: 617.69 KiB) ]