- ベストアンサー
残高を表示したい
今までEXCELだった銀行口座データをACCESSで管理しようと思っています。 テーブルの構造は[ID][日付][内容][入金][出金][残高]です。 残高の計算は前日までの残高+入金-出金です。 クエリで計算すると思うので、色々やってみたのですがうまくいきません。 ご回答宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>クエリを2回実行で残高が出せるようにはなった 当日の残高を算出するクエリに前日残高を算出するクエリをテーブル追加したので1回実行すると当日の残高が算出されるのではないでしょうか。 >残高を日付指定をして出したいのですが、(例えば2005/10/1から2005/10/31など)パラメータが出るようにして、そこに指定する日付を入力できるようにしたいのです。 残高の日付指定は残高のクエリの日付の抽出条件に Between [開始日] And [終了日] とすれば[開始日]と[終了日]([開始日]と[終了日]はお好きなメッセージを入れてください)のパラメタダイアログが表示されますのでそこで日付を入力してください。 当日の残高を算出するクエリに前日残高のクエリがテーブル追加でネストされているので当日残高のクエリを実行すると前日残高のクエリの[開始日]と[終了日]のパラメタダイアログが表示されます。
その他の回答 (1)
- O_cyan
- ベストアンサー率59% (745/1260)
>テーブルの構造は[ID][日付][内容][入金][出金][残高] テーブルは[ID][日付][内容][入出金区分][金額]こんな感じだと思いますが。(1つのレコードで[内容]が同じで入金と出金が一緒に発生する事はないと思うので) 残高は通常ではテーブルに持ちません。残高は算出すれば良いだけなので。 例えば前日の入金を1件入力を忘れた場合などそれ以降の入力されたレコードの残高を再計算し更新しなくてはならなくなります。(余分な処理が増える) DSumを使ってテーブル内のレコードを合計させてフォーム上などでその値を使って計算し残高を算出しフィールドに保存する事もできますが先の理由と同じでお勧めはしません。 >残高の計算は前日までの残高+入金-出金です。クエリで計算すると思うので、色々やってみたのですがうまくいきません テーブルが[ID][日付][内容][入金][出金]を前提とした場合 簡単にやるには前日までのレコードを抽出しグループ化(集計)させ入金・出金を合計し新しいフィールドに 前日残高:[入金]-[出金] として残高を出すクエリを作ります。 別に今日の入金・出金のレコードを抽出しグループ化して入金・出金を合計するクエリを作りそのクエリに先に作った前日残高を算出するクエリをテーブルの表示から追加しクエリのフィールドに前日残高を追加します。 新しいフィールドに 当日残高:[前日残高]+[入金]-[出金] として演算させれば算出できます。 これが一番簡単ではないでしょうか。
補足
回答ありがとうございます。 残高を日付指定をして出したいのですが、(例えば2005/10/1から2005/10/31など)パラメータが出るようにして、そこに指定する日付を入力できるようにしたいのです。 回答頂いた内容を参考にして、クエリを2回実行で残高が出せるようにはなったのですが、日付指定の方法がわかりません。 申し訳ありませんがアドバイス頂けると助かります。 宜しくお願いします。
お礼
>当日の残高を算出するクエリに前日残高を算出するクエリをテーブル追加したので1回実行すると当日の残高が算出されるのではないでしょうか。 その通りです。クエリを2つ作成したのでそのように書いてしまいました・・。 それとパラメータで日付抽出できるようになりました。 色々とありがとうございました!大変助かりました。