みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
皆さまいつもお世話になっております。
小計ソートパート上に連番を振りたいと思っています。
ボディパートの場合は挿入のレコード番号で大丈夫だったのですが、
小計ソートパートの場合は患者番号が同じ場合はレコードが一つになるため表示がおかしくなってしまいます。
1
2
3
5
上記の様に4が消えてしまっています。
また
フッタに表示してある合計数は
集計フィールドのカウントで表示していたのですが
こちらも
上記の例では4件にならないといけないのですが、5件と表示されてしまいます。
どなたか良いアイデアを教えて頂けないでしょうか?
filemaker12
Offline
その小計パートのソート順は固定されていますか
Offline
リアルタイム、ノータッチで常に表示を望んではいないでしょうから、
スクリプトを考えたらいかがでしょう。
Offline
ちょっとトリッキーですが。こんなことすれば、一応表示されるようになります。フッタへの表示は、プレビューの時です。
https://www.dropbox.com/s/gae6yy4b8ejlo … 7.zip?dl=0
Offline
Shin様
小計パートは患者番号でソートしている為固定になります。
サンプルありがとうございます。
スクリプトで絞り込んだ後ソートしている為?か
サンプルを参考にして作成したファイルでは、番号が昇順にならず
2
3
4
1
の様な順番で表示されてしまいます。
また、小計パートの<<$$n>>をクリックするとなぜか<<$$n>>の数値が変わってしまいます。
>チポ様
スクリプトでの表示方法が分かりません。。
Offline
スクリプトの考え方を
ソート後
最初のレコードへ
連番フィールドに 1 を入力
Loop
次のレコードへ
患者番号が前の患者番号と
同じなら、前の連番を入力
異なれば、前の 連番 + 1 を入力
End Loop
これでできないようでしたらまたご質問ください。
Offline
絞り込みに関係無く、仕込の小計パートが出現したらカウントする様に作ってあります。
同じデータをサンプルに読み込んで、絞り込んで動かしてみてください。
どこかの構造が間違っているのでしょう。
Offline
チポ様
レコード/検索条件/ページへ異動[最初の]
フィールド設定[連番;1]
Loop
レコード/検索条件/ページへ異動[次の]
if
までは出来たのですが
患者番号が前の患者番号と同じなら前の連番を入力
というのが良く分かりません。
また、連番フィールドは単純に数値フィールドで宜しいのでしょうか?
Offline
GetNthRecord ( 患者番号 ; Get ( レコード番号 ) - 1 )
で、前のレコードの患者番号を得ることができます。
FM14のヘルプですが12でも同じです
http://www.filemaker.com/help/14/fmp/ja … tml#100534
Offline
Shin様
サンプルデータ上で新規テーブルを作成して
同じように
ヘッダにのタイトル?に、条件付き書式
Let (
$$n = 0 ;
0
)
小計ソートに<<$$n>>を配置
小計ソートにIDを配置して
条件付き書式
Let (
$$n = $$n + 1 ;
0
)
をセットするだけのような気がするのですが
サンプル上では上手く行くのに
新規で試作品を作ってみるとうまく表示がされません。
<<$$n>>がめちゃくちゃに表示されて、なぜかクリックすると数値が変わってしまいます。
どこの構造がおかしいのでしょうか・・・TT
Offline
チポ様
教えて頂いた計算式を元に
レコードのソート
レコード/検索条件/ページへ移動[最初の]
フィールド設定[連番;1]
Loop
レコード/検索条件/ページへ移動[次の]
if[患者番号=GetNthRecord(患者番号;Get(レコード番号)-1)]
フィールド設定[連番;連番]
End If
フィールド設定[連番;連番+1]
End Loop
とスクリプトを組んでみました。
するとループ処理から抜けきらず
最終レコードを延々と+1して処理が終わりません。
あと少しの様な気もするのですがご助言頂ければ幸いです。
Offline
レコードへ移動
のオプションをよく見てください。
「最後まできたら終了」
のチェックボックスがありますね。
それと、
> if[患者番号=GetNthRecord(患者番号;Get(レコード番号)-1)]
> フィールド設定[連番;連番]
> End If
> フィールド設定[連番;連番+1]
連番に入力する値は、
前のレコードの連番
か
前のレコードの連番 + 1
です。
もうひとつ、
Ifステップ
で真と偽で分岐して別の処理をするのですから、
偽の場合
Elseステップ
を使います。
制御ステップのヘルプですFM14ですが12でも同じです。
http://www.filemaker.com/help/14/fmp/ja … tml#822557
Offline
サンプルデータ上で新規テーブルを作成して
同じように
ヘッダにのタイトル?に、条件付き書式
Let (
$$n = 0 ;
0
)小計ソートに<<$$n>>を配置
小計ソートにIDを配置して
条件付き書式
Let (
$$n = $$n + 1 ;
0
)
をセットするだけのような気がするのですが
それだけですよ。
ただ、タイトルヘッダではなく、ヘッダですが。
タイトルヘッダにあっても、プレビューでは正しく表示されるはずです。
サンプル上では上手く行くのに
新規で試作品を作ってみるとうまく表示がされません。
<<$$n>>がめちゃくちゃに表示されて、なぜかクリックすると数値が変わってしまいます。どこの構造がおかしいのでしょうか・・・TT
添削はしませんが、一度ファイルを公開して見たらいいかも。
Last edited by Shin (2017-06-22 11:15:38)
Offline
Shin様
ヘッダに配置してるんですが上手く行かないですね...
一応下のアップローダーにアップしましたのでどなたか確認して頂けると幸いです。
http://whitecats.dip.jp/up/download/149 … p12/attach
パスワード 1234
チポ様
ご指摘の通り修正したとこお、うまく動いた気がします。
ありがとうございました!^^
Offline
Shin様
もしかしてと思って作成して頂いたバージョンがFM11までのものでしたので
サンプルをFM12に変換してみたところ、同じ不具合が発生いたしました。
FMのバージョンが問題なんでしょうか?
Offline
横から、
さらにサンプルを見ていませんけれど、
書かれた内容から・・
グローバル変数で小計パートの出現ごとにカウントさせるんですよね。
ブラウズでは、正確にならないでしょう。
プレビューモードのみと考えるべきでは。
ヘッダでリセットさせると、
複数ページになった場合ページごとにリセットされてしまいますよ。
Offline
タイトルヘッダに配置しているオブジェクトに設定していますが。ヘッダに変更すればいいです。
複数ページに渡る可能性があるのでしたら、前部総計パートにおくか、ダミーのフィールドを作っておき同じ値を設定しておき、それでソートします。そのフィールドをキーとする小計パートに置けば良いでしょう。
Last edited by Shin (2017-06-22 23:31:32)
Offline
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 558.28 KiB (Peak: 579.19 KiB) ]