みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
よろしくお願いします。
◯伝票テーブル
ID
◯明細テーブル
伝票ID
明細テーブルに伝票IDを紐付けてします。
明細が伝票の何行目にあるかを明細側で知るためには、
どのような計算式になりますでしょうか。
Offline
明細印刷用のレイアウトでのソート(これは、印刷時の設定などでしか知りようがないです)を、再現できるのでしたら、明細テーブルから、伝票キーで自己リレーション(その中でソートを再現)をはり、明細キーのリストを取得して自己キーの位置を取得すればいいです。
Let (
[
lst = ¶ & List ( 明細::明細キー ) ;
pos = Position ( lst ; 明細キー ; 1 ; 1 )
] ;
PatternCount ( Left ( lst ; pos ) ; ¶ )
)
Last edited by Shin (2022-08-20 00:49:05)
Offline
明細を作成したタイミングで行Noを割り振ってしまうというのも有だと思います。
> 明細を作成したタイミングで行Noを割り振ってしまう
作成順でいいなら、明細レコードに単純にシリアルを振っておき」少し加工するだけで通常は十分です。
伝票レイアウトでのポータルの並びを、商品ののカテゴリー順で、などと指定されてしまうと、それではダメですね。
Last edited by Shin (2022-08-19 16:06:41)
Offline
Shinさま、ScriptDragnさま、ありがとうございます。
伝票内の明細は単純に作成順ですので、順序は再現できます。
CountValues ( Left ( lst ; pos ) ; ¶ )の部分がわからなかったのですが、
CountValuesの関数が再現できませんでした。
ファイルメーカーのバージョンは19なのですが、なにか他に問題はありますでしょうか。
Offline
すみません、書き間違えました。修正しています。
PatternCount ( Left ( lst ; pos ) ; ¶ )
または
CountValues ( Left ( lst ; pos ) )
です。
Last edited by Shin (2022-08-20 08:43:12)
Offline
Shinさま、うまくいきました!
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 509.48 KiB (Peak: 516.37 KiB) ]