メールマガジン【アクセスで作るシリーズ】


バックナンバー 【会計ソフト編】 Vol.44
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

    ACCESSで作るシリーズ  【会計ソフト編】

    発 行 : Yoshihisa Fukuda          2001. 2. 24 Vol.44

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
--------------------------------------


== ◇ 第4章 年度更新     ====================

今回はVol.43で作成した繰越データ作成サブルーチンの解説です。

--------------------------------------
4-1 年度更新
--------------------------------------
--------------------------------------
4-1-2 モジュール作成
--------------------------------------
繰越データ作成のサブルーチンを作成します。

【解説】

Vol.43 ではサブルーチンを2つ作成しました。
各サブルーチンの解説の前に、2つのサブルーチンの概要と関連を説明しておきま
しょう。

まず、CreateStartData サブルーチンでは、勘定科目と補助科目のそれぞれについて、
全データを処理するため、テーブルの先頭からデータが無くなるまでループして処理
をさせる、いわゆる全体の処理の流れを行っています。

そして、BalanceJournalSet サブルーチンは、与えられたパラメータの情報で、仕訳
テーブルに対して、追加、更新、削除の処理を行います。
BalanceJournalSet のパラメータは
  Function BalanceJournalSet(KamokuID As Integer, _
                SubKamoID As Integer, _
                KamokuKind As Integer, _
                Balance As Currency, _
                AccountYear As Integer)
で最初の第1パラメータが科目ID、第2パラメータが補助科目ID、第3パラメータが
科目種別、第4パラメータが金額、第5パラメータが会計年度です。
具体的には、与えられた勘定科目、補助科目の繰越データの有無により、仕訳データ
の追加、更新、削除を判断し、仕訳データを作成します。

作成する繰越の仕訳データは、相手科目の科目IDが1(私が作成したサンプル科目
テーブルを使用する場合)で、伝票日付が会計年度の1月1日で作成されます。

では、個々のサブルーチンを見ていきましょう。

・CreateStartData

1.まず、最初から6行は変数の宣言です。
2.8行目はデータベースのオープン、9~12行目で使用する各テーブルのオー
  プンを行っています。
3.14行目は基本テーブルのカレントレコードを先頭へ、15行目は科目テーブ
  ルのカレントレコードを先頭へそれぞれ移動しています。
4.16行目から24行目のWhile文で科目テーブルを全て処理します。
5.17~21行目はサブルーチンの呼び出しです。
  BalanceJournalSet と言うサブルーチンを呼び出しています。
  BalanceJournalSet と言うサブルーチンは、この後解説しますが、簡単に言う
  とパラメータの情報から仕訳データを作成し、仕訳テーブルに追加・更新する
  サブルーチンです。
6.23行目は科目テーブルのカレントレコードを次のレコードへ移動しています。
7.25行目からは、科目テーブルで行った事を補助科目テーブルに対して、
  まったく同様の処理を行っています。
8.36~39行目は、使用したテーブルをクローズ、40行目はデータベースを
  クローズしています。

・BalanceJournalSet

1.最初から3行は変数の宣言です。
2.5~7行目は処理するデータの科目種別が資産、負債、資本以外ならこのサブ
  ルーチンを抜ける(何も処理しない)と言う意味です。
3.9行目はデータベースのオープン、10行目は仕訳テーブルのオープンを
  行っています。
4.12行目で処理するデータの科目種別が負債か資産、資本かにより振り分けて
  います。
  これは、資産、資本と負債で勘定科目の貸借属性が異なるからです。
5.13・14行目と16・17行目は検索条件の設定を行っています。
  処理する勘定科目の繰越データが無ければ追加、既にある場合、修正又は削除
  を行うためです。
6.19行目で5.で指定した検索条件で仕訳テーブルを検索しています。
7.20行目で、繰越データが無ければ追加、既にある場合、修正又は削除の振り
  分けをしています。
8.21行目は繰越データが無い場合で、その場合仕訳テーブルにデータを追加
  するため、AddNewメソッドで追加できる様にします。
9.23行目からは既に繰越データが存在した場合で、その場合、繰越が無ければ
  繰越データを削除、あれば修正という振り分けを行います。
10.24~28行目は既にある繰越データを削除する処理で、削除した後は、この
  サブルーチンを終了します。
11.30行目は既にある繰越データをEditメソッドで更新できるようにしています。
12.33行目からはパラメータの値を仕訳テーブルに設定し書き込みを行っていま
  す。
13.35行目は、仕訳データに勘定科目を設定するのに、科目種別で貸借の判別を
  行っています。
14.48行目はUpdateメソッドを用いて実際に仕訳テーブルにデータを更新して
  います。
15.50行目で仕訳テーブルをクローズ、51行目でデータベースをクローズして
  います。

以上で、繰越データ作成は終了です。

これで、基本的な部分は全て作成されました。
まだ、充分な機能とは言えないまでも、一応最低限の事は出来ると思います。

次回からは、拡張機能としてこれまで作成してきた会計ソフトを改良しましょう。

そこで、プログラムの何処をどう変えれば、どの様になるかなど、実験的にやる中で
皆さんは、よりアクセスの知識が身に付けばと思います。

言うなれば、今まではアクセスを勉強するための教材を作成してきた訳で、これから
その教材を用いて勉強していく感じです。

次回からは、皆さんから一番要望が強かった、「どうしてこうなるの?」を中心に
やっていきましょう。
______________________________________
◆◇ Q&Aコーナー    ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

 今回はありません。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

◇ ACCESSで作るシリーズ 【会計ソフト編】
◇ 発 行 元  :Yoshihisa Fukuda(福田 義久)
◇ ご意見・ご要望
  ご質問等   :y.fukuda@ro.bekkoame.ne.jp

◇ このメールマガジンは、インターネットの本屋さん『まぐまぐ』を利用して発行
  しています。(まぐまぐID:0000030446)
◇ バックナンバー:http://www.bekkoame.ne.jp/ro/y.fukuda/
◇ 登録・解除  :http://www.bekkoame.ne.jp/ro/y.fukuda/

 Copyright(C) 2000-2001 Yoshihisa Fukuda All rights reserved.

◇転載について
 このメールマガジンの無断転載などは、一切禁止です。
 転載をご希望の方は、事前にメールで連絡をください。
◇免責
 このメールマガジン及びホームページの内容による、いかなる損害、障害などに
 関して発行者は一切の責任を負いません。
 掲載広告についても同様です。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□