みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
売上と明細をポータルで入力します
売上テーブルには、
日付 店名 などがあり(IDなどは割愛)
明細には
商品名 個数 などがあります
手書きのものを元に入力するのですがそれは、
(手書き)
りんご▼
店名A 100
店名B 200
みかん▼
店名A 40
店名B 50
といった具合に商品名ごとにグループとして書いてあります
それぞれ店名、商品は10種類ほどです
レコードとしては
(伝票)
ID 001 店名A
(詳細)
りんご 100
みかん 40
__________________
(伝票)
ID 002 店名B
(詳細)
りんご 200
みかん 50
という形にしたいです
紙をみながら入力していき、上記の一対多のかたちにできれば
速く入力できるのですが、アドバイスおねがいします
紙データを店舗ごとに書き換えるしかないでしょうか?
Offline
明細側のテーブルを、店舗で集計するだけです。
または、店舗テーブルから明細を見ればいいでしょう。
Last edited by Shin (2017-12-19 09:30:45)
Offline
商品ごとのテーブルに明細のポータルを置いてそこへ入力すれば、
現在の手書きをベースにできますよね。
店舗ごとの集計はShinさんの通りですが、
店舗テーブルが必要かどうかは運用によるのでは。
Offline
テーブルやレコードのかたちとしては
1伝票に対して複数の詳細がリレーションされるかたちにしていです
普通の入力方法なら
1.店名を指定して伝票テーブルにレコードを作成
2.ポータルで詳細に入力
ですけど、紙のデータが先述の形式なので、
1.店名を指定して伝票テーブルにレコードを作成
2.ポータルで詳細に店名Aのりんごを入力
3.店名Bのりんごを入力
4.店名Aのみかんを入力…
と伝票テーブルをいちいち切り替えて入力しないといけません
連続して、各店舗のりんごだけを入力すると、通常の1対多のかたちで
レコードが保存されるようにしたいです
上記の紙データのみ、そのような形になっていて、
通常は、
店名
りんご 40
みかん 30
といったデータを入力するので
1.店名を入力
2.その店名のみのレコードを連続入力
といったかたちです
Offline
> 1伝票に対して複数の詳細がリレーションされるかたちにしていです
これはそのままにして、
新たに、商品ごとを1レコードとするテーブルを作ります。
詳細テーブルとは、ユニークな値のフィールドでリレーションし、
詳細のポータルを商品テーブルに配置します。
商品テーブルで全レコードを対象外にして、
新たにレコードを作り商品を入力、ポータルへ詳細を入力。
これを全商品繰返して、全詳細レコードを作ったら、
関連レコードへ移動(現在の対象レコードの全てのレコードを照合)
で、詳細テーブルで新たに作ったレコードだけが対象レコードとなりますから、
店舗でソート、伝票番号を入力、伝票テーブルのレコード作成、入力。
この一連はスクリプトで自動化できますよね。
Offline
店名と商品名と数量を入力するのでしたら、明細テーブルをリスト表示して入力していけばいいのでは。簡単にするために、店舗名と商品名は、ラジオボタンで選択させると早いですよ。その際に、商品名を続けていれたいのでしたら、自動入力で直前の値を設定しておくといいです。
ちょっと気にかかるもは、紙伝票1枚で、IDが複数発生するのですか。それとも、単に店舗ごとの括りでIDを打っているのでしょうか。
Last edited by Shin (2017-12-20 14:02:50)
Offline
紙伝票一枚でIDは複数発生して、店名が変わるたびに1伝票という括りです
伝票テーブルには店舗名、それに対して1対多のかたちで
詳細テーブルに、レコードを追加したいです
しかし、先述のとおり紙データがあのようなかたちなので
伝票テーブルにレコードを作成して、それに対する詳細レコードを連続で入力する、という入力方法ができません
明細テーブルに直接入力するとなると、伝票テーブルに、1対多の1にあたる伝票テーブルにレコードが作成されませんよね
Offline
うまく伝えられないのですが
詳細テーブルに直接入力するとすると、
日付 店舗名 品名 個数
というフィールドに入力していき
伝票テーブルには
日付と店舗名を区切りとしたレコードをつくり
一対多の形にしたいということです
閲覧などは伝票テーブルで日毎などの期間で抽出したいです
後にデータをつかうときも、基本的には詳細データまではみません
伝票テーブルにある、詳細の合計値でことたります
いちいち詳細テーブルで集計や抽出するより、
伝票テーブルでやったほうがはやいでしょうし
Offline
伝票テーブルの集計は、商品に関係ない個数の合計を出すのでしょうか。
閲覧は、日毎の店舗に関係ない個数の合計ですか。
商品毎の集計データは不要なんですか。
ちなみに、伝票テーブルの集計値をさらに集計するのは、明細を直接集計するよりは遅くなるでしょう。
Offline
伝票テーブルの集計は商品の合計です
一対多で商品毎の集計を、伝票テーブルに保存します
ポータルのフィールド(詳細テーブル)に変化があると、小計フィールドを
スクリプトで数字として別フィールドに保存させ、伝票テーブルを集計するときに速くするつもりです
商品毎の集計データは、よほどの分析をするとき以外は不要です
伝票テーブルに上記の詳細の合計さえあればいいです
#9のような入力は無理ですかね?
紙データの書き方を変えるしかないですかね
Offline
もしかすると
ポータル内ポータル、ができればよいのかもしれません
あまり情報はないみたいですが少し調べてみます
Offline
> 一対多で商品毎の集計を、伝票テーブルに保存します
これって、まあまあ面倒な処理ですよ。
> ポータルのフィールド(詳細テーブル)に変化があると、
この検知は面倒ですし、過去のものに修正が入ると結構面倒です。その処理が後々には必ず非常に大きな物になり、動作のもたつきになります。
ポータル内のポータルは、サポートされていません。表示上で擬似的に作ることはできますが、非常に面倒です。
https://www.dropbox.com/s/8m7156sybqzz8 … 7.zip?dl=0
早く計算したいのはわかりますが、対象の明細レコード数は数十万件でしょうか。上の前提ですと、日に100件、年間3万件程度ですよね。その程度の規模で、集計時間はほとんどかからないレベルで、集計方法によって差が僅かに出てくる程度ですよ。
それより構造を簡単にした方が、後のメンテナンスの事も考えて、有利だと思いますが。
https://www.dropbox.com/s/u2zdtox8c2lwf … 7.zip?dl=0
それと、伝票テーブル側の IDについてのお答えをもらっていません。
> 詳細テーブルに直接入力するとすると、日付 店舗名 品名 個数 というフィールドに入力していき
> 伝票テーブルには、日付と店舗名を区切りとしたレコードをつくり
この手順ですと、IDを振るために伝票レコードを作りに行く作業と、そのIDを明細側に設定する作業が必要になります。IDの設定はルックアップでできそうですが、伝票レコードは自動で作るのは無理そうですので、詳細テーブルに入力した後にわざわざ手動で行なうか、トリガーを使ってレコードの確定時に処理を組み込むか、などを行なう必要があります。
Last edited by Shin (2017-12-22 14:21:07)
Offline
入力について、こんな感じでしょうか
https://www.dropbox.com/s/99rdoseh7py4ucd/7370.zip?dl=0
Offline
Pages: 1
[ Generated in 0.020 seconds, 9 queries executed - Memory usage: 552.4 KiB (Peak: 573.3 KiB) ]