Accessで残高計算③~DSUM関数を使わない方法2

Pocket

一つ前のデータの残高が分かれば、その残高に借方金額を足して、貸方金額を
引けば残高が出てきます。理論的には非常に簡単ですが、実はこれをAccessで
実行しようとするものならば、ひと工夫ふた工夫が必要です。

2801081
Excelなら簡単に出来そうな図ですが・・

最初にすべきことは日付順に番号を付けること。→NOフィールド
NO: Int(DCount(“*”,”出納帳”,”日付<=#” & [日付] & “#”))/1
日付が小さい順にレコードをカウントしていきます。

次に同じ日付で取引が二つ以上ある場合、その取引毎に番号を付けます。→NO2フィールド
NO2: Format(DCount(“*”,”出納帳”,”日付=#” & [日付] & “#” & “and ” & “ID<=” & [ID] & “”),”00″)

同じ日付のレコードでかつIDの小さい順にレコードをカウントしていきます。
最後に”00″として形をまとめます。要は1日の取引が99件を超える見込みがない
ことを想定しています。10件にも満たないときはformat関数を使う必要はありません。

この二つのフィールドを一つにまとめて、数値型にします。
連番: Int([NO] & [NO2])/1

これで連番が付いたので、一つ前の連番の残高を求めれば、残高に辿り着けます。

すぐ目の前にあるデータだからちょちょっと加工できそうですが、それができない
のがAccessの難しいところでしょうか。もちろんそれを補って余りあるメリットも
あります。

=====================================
昨日一昨日と新年会で飲んだくれてしまいました。
昨日はひどくて、今日は一日二日酔い・・
そして今日は期せずして休肝日となりました。

本日も最後までお読みいただきありがとうございます。