■メニュー
1.売上入力の作成(2回目)
===================================================================
こんにちは、ティウェアの高橋です。
売上入力の作成の2回目です。
では、はじめましょう。
------------------------------------------------------------------
今回は、トランザクションファイルの説明をします。
これは、売上入力、入金入力で使います。
このファイルは、伝票のデータを格納するものです。
親と子にわけて作ります。
親のファイルを「伝票ヘッダー」とします。
子のファイルを「伝票ディテール」とします。
親ファイルは、伝票のかがみの部分です。
子ファイルは、伝票の明細部分です。
実際のトランザクションファイルを簡素化したものとしました。
作り方を簡単にしたほうがわかりやすいですから。
------------------------------------------------------------------
1.伝票ヘッダーのレイアウト
伝票区分 Smallint 主キー
伝票番号 Int 主キー
営業所コード Int
得意先コード Int
伝票日付 Datetime
担当者コード Int
掛区分 Samllint
消費税計算法 Samllint
金額 Money
消費税 Money
合計金額 Money
締次フラグ Samllint
月次フラグ Samllint
処理日付 Datetime
処理年 Samllint
処理月 Samllint
処理日 Samllint
伝票区分には、1:売上、2:入金が入ります。
掛区分には、1:掛、2:現金が入ります。
消費税計算法には、1:請求時、2:伝票毎が入ります。
------------------------------------------------------------------
2.伝票ディテール
伝票区分 Smallint 主キー
伝票番号 Int 主キー
伝票明細行 Smallint 主キー
商品コード Int
商品名 Varchar(40)
伝票区分番号 Smallint
数量 Money
売上単価 Money
金額 Money
消費税 Money
消費税区分 Smallint
消費税区分には、 1:外税、2:内税、3:非課税が入ります。
------------------------------------------------------------------
疑問1:トランザクションファイルは、ひとつでもよいのでは?
と思われている方はいませんか。
それでも構いません。
でも、ちょっと考えてみませんか。
ひとつにまとめると、ファイルのレイアウトは大きくなります。
多量にデータが存在するようになると、処理速度も遅くなります。
2つに分けるのは、なぜか?
たとえば、得意先別の売上集計表を作るとします。
今月の売上げを集計する場合、伝票ヘッダー、伝票ディテール
どちらを使う?
伝票ディテール(伝票明細)が100明細存在したとしても
伝票ヘッダーは、1つ。
当然、伝票ヘッダーを使います。
だから、処理の速度は早くなりますよね。
では、伝票ディテールは、どのような処理で使うのか?
売上日報、得意先元帳など伝票明細がどうしても必要なときだけです。
金額の合計は、極力、伝票ヘッダーを使う。
どうしても無理なときだけ、伝票ディテールを使うことにします。
------------------------------------------------------------------
疑問2:リレーションの関係になっていない?
と思われている方はいませんか。
そうですね、なっていません。
伝票ヘッダーでは、担当者コードは必要ありません。
得意先マスタに担当者コードがあるからです。
だから、担当者コードは、なくても構いません。
こんな場面を考えて見ましょう。
担当者が、月の途中で退職した場合、得意先マスタを新任の担当者に
変更したとしましょう。
担当者別の売上表を作る場合、得意先マスタで担当者を集計したら
どうなるでしょうか?
前任の担当者の集計はできなくなりますよね。
でも、トランザクションファイルに担当者コードが存在すれば
前任者のコードが存在するので集計できます。
これも実際の業務でどう処理するのかで作り方が違ってきます。
だから、どれが正解と言うことはありません。
リレーションの関係を考える場合、もし、これがなければ
どうなるのか?を考えてみてください。
トランザクションファイルに持たせるべきなのか、必要あるのか
どうかを考えながら作りこみをして下さい。
過剰にリレーションにこだわらることは、まったくありません。
業務にあわせたソフト作りをすることが、いちばん大切なことです。
次回も売上入力です。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|