Access(ADP & VBA)とMSDEで作るクライアントサーバーシステム(c/s)

 
実践テクニック、Accessで作るクラサバシステム



2007/09/11配信
 

第11コース  第2回 「売上入力の作成」




 

 ■メニュー

   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年以上の開発ノウハウを惜しみなく完全公開!

Mail:  (半角英数字)     Powered byまぐまぐ


HOME / お客様の声 / メルマガ / 販売管理ソフト教材 / 会社概要/ 特定商取引法/ お申し込み
 お問い合わせ / メルマガのご意見ご感想 / メルマガのバックナンバー/ プライバシーポリシー
 


 Copyright (c) 2001 ティウェア All rights reserved.