みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
親と子のテーブルは日付でリレーションしています。
親テーブル:
日付
内容
ABCDと4つの支店があります。
子テーブル:
日付
支店名
午前
午後
顧客
というフィールドがある子テーブルがあり
午前と午後には担当名を入れています。
支店ごとにその日のカウントをしたいと思っています
A支店 午前3件 午後4件 小計7件
B支店 午前1件 午後0件 小計1件
小計 午前4件 午後4件 小計8件
総計 8件
といった形です。
countを使うと思うのですがよくわからない為ご教授いただけないでしょうか?
カウントしたいのは親テーブルを使うレイアウトで(子テーブルはポータルで表示しています)
支店ごとに午前フィールドと午後フィールドに入っている数を表示したいです。(担当は分けなくても大丈夫です)
親テーブルが何を行なっているのかよくわかりませんが、日付があるだけ、と考えて良いのでしょうか。
子テーブルには、どのような入力がされるのですか。
1顧客ごとに1レコード作られるのでしょうが、午前、午後のフィールドは担当が入る、というのがわかりません。
午前の来店でしたら、午前フィールドに担当名が入力され、午後来店でしたら、午後フィールドに担当名が入力される、ということでしょうか。
普通は、来店か午前か午後かの区分、担当が誰か、というフィールドを作りますね。
集計のなかの、小計の中の小計と、総計は、対象が違うのですか、それとも同じものですか。
集計はクロス集計ですので、原則子テーブル側で行います。顧客ごとに1レコード作ってあるものとして、午前、午後、顧客をカウントする集計フィールドを作ります。集計用のレイアウトを作り、日付をキーとする小計パート、支店名をキーとする小計パートを作り、そのそれぞれに、その集計フィールドを配置します。そのレイアウトで、日付、支店名でソートすれば、集計結果が表示されます。
親テーブルで表示したいのでしたら、日付で子テーブルへリレーションをはり、さらに、日付と店舗名で自己リレーションを貼ります。親テーブルにポータルを置き、自己リレーションでトップのレコードだけを表示するようにフィルターをかけておきます。その中に、孫テーブルの集計フィールドを配置すればいいです。
どちらにしても、集計フィールドを3個追加と、下のリレーションを設定するだけです。
親テーブル 子テーブル 子テーブル2
日付 = 日付 = 日付
支店名 = 支店名
https://www.dropbox.com/s/udn8pqexrue53 … 2.zip?dl=0
Last edited by Shin (2021-10-01 13:38:30)
Offline
支店が4つ程度なら力業で、、
親テーブルで、グローバルフィールドを作り、A支店と入力。
両テーブルでリレーション
親テーブル 子テーブル
日付 = 日付
and
グローバルフィールド = 支店名
これで、
午前と午後をCountする計算フィールドを二つ作ればそれぞれの件数が求められますね。
これを支店分設定します。
他の小計は計算フィールドを作れますよね。
Offline
shinさん、チポさんご回答ありがとうございます!
今回はチポさんの案で構築をしてみました。
とりあえずカウントは出来るようになったのですが
ポータル(子テーブル)の値を変更しても
レイアウト(親テーブル)上でカウントの値が変更されません。
とりあえず、『更新ボタン』を作成しスクリプトで『ウインドウ内容の再表示』をしてボタンを押せばカウントが更新されるようになったのですが
出来ればリアルタイムにカウントが更新できるようにしたいです。
こちらもご助言を頂けないでしょうか?
そのスクリプトを、
ポータルか、ポータル内のフィールドに設定した
スクリプトトリガで実行させればいいのでは。
Last edited by チポ (2021-10-15 11:08:28)
Offline
Pages: 1
[ Generated in 0.018 seconds, 10 queries executed - Memory usage: 516.39 KiB (Peak: 521.3 KiB) ]