みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FM7 WIN10 の環境です
フィールド
単価(数字)
数量(数字)
小計(計算:単価×数量)
上記フィールドを繰り返し(20)で作成しました。
計算値によって小計の桁数がまちまちになってしまいます。
印刷用紙に1桁ごとの罫線が引かれており、この罫線通りに印刷しようと思ったら、フォントサイズで調整するしか、自分は方法がわかりませんでした。
Middle ( テキスト ; 先頭文字位置 ; 文字数 )
の関数も繰り返しを使用できるので、この関数を使用したかったのですが、桁数が統一されていないために思ったようにできませんでした。
なので、小計をテキスト扱いにして桁数を揃え、上記関数を使用することは出来ないのでしょうか?
Offline
任意桁数の数値を、
繰り返し[20回]計算フィールドへ右寄せで桁分解・代入する、
計算式
Let(
[
#20chr=substitute(10^20-1; [9; Char(8203)]);
#20chr=Right(#20chr & 目的数値フィールド[1]; 20)
];
GetAsNumber(Middle(#20chr; Get(計算式繰り返し位置番号); 1))
)
Last edited by Hiro (2018-04-29 03:45:48)
Offline
プリプリントの枠に合わせるためには、フォントそのものを変えたり、その大きさを微調整することになります。全角表示にしておいた方が合わせやすいこともあります。また、文字間もほんの少しですが、スタイルの設定で広くしたり狭くできるので、お試しを。
元のフィールドが繰り返しになっているので、それをさらに繰り返しは無理でしょう。そこをそれぞれ1フィールドに分解する必要があります。
それをまとめて印刷するためには、別テーブルを作り、リレーションさせておく構造に変えた方がいいでしょうね。
その上で、
Let (
[
L = 20 ; //最大桁数
n = Div ( 小計[1] ; 10 ^ ( L - Get ( 計算式繰り返し位置番号 ) )
] ;
Case ( n ; Mod ( n ; 10 ) )
)
という計算式の繰り返しフィールドにしておくといいです。
Last edited by Shin (2018-04-29 12:01:30)
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 547.27 KiB (Peak: 579.05 KiB) ]