みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FM16を使っています。
テーブルの値を全て表示して印刷するのに、リスト形式のボディにフィールドを設定していました。
これでテーブルの内容を全て印刷する事ができました。
やりたい事は、テーブルが2つあります。テーブルAとテーブルBとします。
テーブルAの値を全て表示した後に数行のコメントを入れてテーブルBの値を全て表示して印刷したいです。
このような事はリスト形式だと難しいと思うのですが、何か解決する方法はあるでしょうか?
Offline
テーブルAとBの間で改ページしたくない。
ということでしょうか?
二つのポータル
とか、
テーブルAのリストのフッタにBのポータルを配置
とか考えられますが、
ポータルの途中で改ページが入るとうまくないかな。
Offline
グローバルフィールドに目的の印刷内容をExecuteSQL関数式でマージ合成して、
その結果を印刷に掛ける、のは?
その時の式案は、
List(
ExecuteSQL("SELECT ""フィールドA"" FROM ""テーブルA"" "; ""; "¶")
;
"数行の任意コメント内容をココに記述"
;
ExecuteSQL("SELECT ""フィールドB"" FROM ""テーブルB"" "; ""; "¶")
)
Last edited by Hiro (2018-08-17 13:08:00)
Offline
別テーブルを作り、テーブルAとテーブルBのリレーション可能なキーを設定します。フィールドは、適宜重ねておいてもいいでしょうし、計算フィールドでもいいです。
そのレイアウトで印刷をすればいいですね。
Offline
紙の帳票を印刷したいですが、イメージは下記の感じです。レコード数は変動します。
●タイトル
<テーブルAの内容>
レコード1
レコード2
レコード3
...
<テーブルBの内容>
レコード1
レコード2
レコード3
...
<完了>
Offline
チポさん
テーブルA、B共にレコード数が可変するので、ポータルは使えないと思っています。
フッタにテーブルBのレコードですか、ちょっと試してみます。ありがとうございます。
Offline
Hiroさん
ExecuteSQLですか。難易度があがりました(汗)
ListにテーブルAとコメントとテーブルBのデータを入れるのは何となく理解しました。
一度ExecuteSQLを勉強して試してみます。ありがとうございます。
Offline
shinさん
テーブルA、テーブルBにIDというフィールドを作りました。
別テーブルをテーブルCとした場合、テーブルC.IDとテーブルA.id、テーブルC.IDとテーブルB.IDを結ぶということでしょうか?
Offline
作業テーブルCを作る方法もあるかと。
テーブルデータを削除(=全レコード表示、対象レコード削除)
テーブルAからレコード取込
新規レコード追加(1行空ける)
テーブルBよりレコード取込
対象となるレコード数がさほど多くない場合、フィールド構成が同じような場合であれば可能かと思われます。
Offline
こんな形でいいでしょうか。
https://www.dropbox.com/s/j6hexsmzgrah7 … 7.zip?dl=0
Offline
あるとさん
なるほど、他のフィールドを取り込む方法があるんですね。知りませんでした。
一度挑戦してみます。ありがとうございます。
Shinさん
ファイルまで作っていただいて感謝です!とても参考になります。
やりたかった事はこのようなことですが、テーブルAの内容と
テーブルBの内容をどのようにテーブルCで取り込むことができるのでしょうか?
スクリプトやリレーションを見てみましたがわかりませんでした。
Offline
それぞれの ID を取り込んで、リレーションを張っているだけですよ。両方のテーブルのフィールド内容を & でつないでおいてもいいのですが、厳格に客テーブルから取り込む計算フィールドになっています。
Offline
ポータル行を必要より多めに作っておいて、
スライドさせれば空白行は印刷されませんよ。
Offline
>#1 『テーブルAの値を全て表示した後に数行のコメントを入れてテーブルBの値を全て表示して印刷したい』
他の方の提案は、「コメント文の中間挿入」の実装が出来ないか、非常に難しいですが、良いのでしょうか?
Offline
私のはどうにでもなりますよ。
ポータルがページをまたぐ場合が致命的ですが ;;;
Hiroさんのは、
複数フィールドになった場合、レイアウトに苦労するのでは。
Offline
「全て」の意味が、全レコードばかりでなく、
全フィールドも指しているとしても、一向に構いません。
全フィールドなら、ワイルドカードで一発指定できますし、
1フィールドの場合無視してたフィールド間セパレータの
使用文字を指定するだけのことす。
※ 計算式だけに、自由度はダントツにあると思います。
● → ExecuteSQL("SELECT * FROM ""テーブルA"" "; "セパレータ文字"; "¶")
++補足++
>#15 『複数フィールドになった場合、レイアウトに苦労するのでは。』
もしかして真意は、表組デザイン要求などの場合の型崩れのことでしょうか?
その場合は、やむなくバーチャルリストテーブルへの持ち替えで対応できますが、
コメント挿入部の特例扱いに多少工夫が必要ですネ。
Last edited by Hiro (2018-08-17 22:48:16)
Offline
各グループごとにコメントを入れられる構造が、ごく簡単に作れますよ。
サンプルでも、中間のコメントは自由に入れることができます。可変にするのでしたら、別のテーブルで管理することも簡単です。
Last edited by Shin (2018-08-18 09:10:59)
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 577.6 KiB (Peak: 594.51 KiB) ]