★MSアクセスウエッブカレッジ| サンプル(ダウンロードする)|業務統合4in1|小さな会社用『感嘆!』 |
現金出納帳作成:残高計算をマクロで行う |
業務システム作成の中では残高を計算することは多いが、この残高計算は難しい. というのは、残高を計算するには、いくつもの工程を経る必要があるからです .
現金出納帳は小遣帖のようなもので、現金の収入、支払を記帳して、日々の残高を明らかにしておくものです .又、残高を計算する場合の、一つのポイントは、繰越をどう扱うかの問題です. 月の初めの金額を持ってくる場合、それはどこから持ってくるのか、入力するのか?など決めておくことが一杯あります.
残高はその都度入力し、入力された残高を、残高として、以降の日々の残高を計算することとします.
入力されている伝票データ〔支払い、入金データ〕伝票累積T)から、現金出納帳を作成する.
完全に現金のみのデータを扱う場合、データから、選択する必要がないので、クエリー内容が変わります。
ォームは、今回は、出納帳作成画面のようなメニュフォームが出納帳メニュフォーム
出納帳WF 計算ワークWF
以上が、残高計算データベースの構成です. 少ないでしょ?これで出納帳の作成が出来ます. では、作成のポイントを以下に紹介します.
1 繰越データは入力する 繰越データを入力すると決めていまが、これがもっとも簡単な残高計算の方法です. 勿論、残高を0からスタートさせる方が簡単ですよ.ただ、実際的には、 月が進んでいくと、月の初めの残高は変わるわけで、この数字の取り方が検討事項になります.
2 計算用にワークテーブルを作成する:残高計算はワークテーブルで行う伝票累積Tのデータを直接利用して、残高を計算することも可能ですが、データを選択し加工する場合、データを自由に扱えるように、オリジナルデータからはなして、別のファイルデータを作成(ワークファイル)するほうが良いと思う. 計算のために必要なフイルドも、ワークテーブルには追加することも出来る. 3 計算結果を、出納帳レポートに反映させて表示する.
同じなら、追加クエリーなどで、名前が違うことによるトラブルが防げます。名前を入力する場合、空白、半角、全角などが違ってクエリーが正確に動かないことになりがちです。注意事項です. トラブルクエリーで、間違いが見つからないとき、名前の問題が原因だったりすると泣けますよ全く。
1 残高 2 最終マーク 残高計算の、決め手がこのフイールドです.残高計算は、サブマクロを使って計算し ますが、サブマクロの場合、どこでサブマクロを終了させるかが大きな課題となります. 回数で固定できるものは、簡単ですが、データの量が決まらない場合、使えません. データ数より大きいマクロ実行の回数指定をすると、レコードがない、移動できませんなどのエラーメッセイジがでて、マクロが中断されてしまいます. データが最後のものにマークを付けるフイールドです.
上記計算の仕組みをマクロとして表現することになります.
残高計算開始で、レコードの一行目から計算しますが、下記はその計算順にデータ(レコード)を表示するところです. この例では、フォームを開くときに、フィルタで「出納帳Q」(下記画面中フィルタ名参照)を設定して、データ(レコード)を並び変えている.
次のポイントは、残高計算です
○計算結果:データ(レコード)は順番になっていないが、計算結果のテーブル表示
[Forms]![F4出納帳WF]![最終マーク]<>999 And [Forms]![F4出納帳WF]![最終マーク]=0 上記条件を有効にするには、マクロで、データ(レコード)の最終分の最終マークに999を入れておかなければなりません。
レポートでは、なかなか、思ったようにデータが並びません.
□■出納帳レポート結果
感想は アクセスマクロ会議室へ :篠山 勲 |