• 締切済み

Accessで金銭管理をするときの残高の表示方法

最近アクセスを使い始めた初心者です。 以下のような複数名(人数が増えることもあります)についての金銭管理を行っています。 ID   氏名ID    月日     氏名    氏名番号   適用    入金額   出金額    残高 1    1   2009/01/25   Aさん       1001    入金     3000     0     3000 2    1    2009/01/25    Aさん      1001   お菓子       0    300     2700 3    1    2009/01/26   Aさん       1001    切手       0    100     2600 4    1    2009/01/30   Aさん       1001    修理       0    4000     -1400 5    1    2009/02/01   Aさん       1001    入金    6000       0     4600 9     1     2009/02/20   Aさん       1001      パン       0      100     4500 11   1     2009/02/25    Aさん     1001     入金     200         0     4700 6     2    2009/01/10     Bさん    1002      入金     1000        0     1000 7    2    2009/01/11   Bさん      1002      雑誌        0       600      400 8     2    2009/03/25    Bさん      1002    鉛筆        0       500      -100 10    3    2009/03/10    Cさん     1003    入金         500       0       500 アクセスのクエリ場面で残高に 残高: DSum("Nz([入金額],0)-Nz([出金額],0)","テーブル","([月日]<#" & [月日] & "# or 月日=#" & [月日] & "# and ID<=" & [ID] & ") and 氏名='" & [氏名] & "'") のように計算を行わせて上記のような計算結果を得ました。このあとAさん、Bさん、Cさんのそれぞれ最後の残高だけを次のように表示するようにプログラムしたいと思っています。 ID   氏名ID   月日    氏名    氏名番号   適用   入金額   出金額    残高 11    1   2009/02/25    Aさん     1001     入金     200       0      4700 8     2   2009/03/25   Bさん      1002     鉛筆      0      500      -100 10    3    2009/03/10   Cさん     1003    入金        500       0      500 例えば今日(3月25日)までの残高計算をしようとして、月日の抽出条件に=Date() と条件を入れても ID   氏名ID   月日    氏名    氏名番号   適用   入金額   出金額    残高 8      2   2009/03/25   Bさん      1002    鉛筆      0     500     -100  となりBさんのデーターしか表示されません、なんとかAさんとCさんのデーターも表示したいのですが、Aさんが2月25日、Cさんが3月10日までしか、まだデーターがないのでどうにも表示されないようです。 どうしたら3人とも表示できるようになるのか、どなたか教えてください。 どうぞよろしくお願いいたします。

みんなの回答

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

1つの案として クエリで集計を使います。 以下手順) ・「デザインビューでクエリを作成する」から対象のテーブルを表示させます。 ・クエリデザインツールバーにある「Σ」をクリックします。  (デザインの欄に「集計」が追加されます) ・テーブル内の「ID」「氏名ID」「月日」「氏名」「氏名番号」「適用」「入金額」「出金額」を順にダブルクリックしていきます。  テーブルに対象テーブル名、集計に「グループ化」が表示されます。  集計のところを「最後」に変更します。  ※ 「氏名」のところのみ「グループ化」のままとします。  ※ 「氏名」のところのみ並べ替えを「昇順」に変更します。  ※※ 「氏名」以外の、「氏名ID」「氏名番号」をグループ化しても同じかも ・「出金額」の右隣(あいている所)に以下を記入します。 フィールド部分 残金: (Sum(テーブル名.入金額)-Sum(テーブル名.出金額)) 集計部分    演算 ※テーブル名は実際のものに変更してください ・テーブル内の「月日」をダブルクリックします。 集計部分を 「Where 条件」 に変更します。 表示のチェックはOFFとします。 抽出条件に Between #2009/02/01# And #2009/02/28# とか       <= #2009/03/25# など設定してみます。 > 月日の抽出条件に=Date() と条件を入れて > Bさんのデーターしか表示されません ※ 抽出期間にデータの無い人はでてきませんが ※※抽出条件 = では無理かも ・表示を「データシートビュー」に切り替えてみます。

himawri170510
質問者

お礼

早速のアドバイス本当にありがとうございます。アドバイスにしたがって、いろいろ考えてみたいと思います。残高の表示は、パソコンを起動したときの日付で自動的に表示できればと考えております。貴方がご指摘の通り、抽出期間にデーターの無い人は表示ができません。しかしながら、表示方法が見つからず、挫折しかかっていたところに貴重なアドバイスをいただき、勇気付けられました。またじっくり考えてみたいと思います。

関連するQ&A

  • アクセス関数(残高表示)

    アクセスの関数(残高計算)について教えてください。 金銭管理表を作成し、残高を表示したいのですが、個別に集計してしまうと上手く残高が表示されません。  最初にテーブルにてID(オートナンバー)、氏名(Aさん)、月日、適用、入金額、出金額、 2行目にBさん、3行目にAさん、4行目にAさん、5行目にBさん、6行目にBさん、 7行目にCさん・・・・・ とデーターを入力しました。そしてクエリにてテーブルを利用して残高を計算しました。 クエリのフィールドは新たに残高(計算式を入力)を作ったので、ID(オートナンバー)、氏名、月日、適用、入金額、出勤額、残高: CCur((NZ([入金額])+NZ(DSum("入金額","テーブル","ID<" & [ID])))-(NZ([出金額])+NZ(DSum("出金額","テーブル","ID<" & [ID])))) のようになっています。 さてこの段階では残高計算は上手くいきました。しかしながら目的の個別集計、たとえばAさんだけを抽出して残高を計算するにはなっていません。したがって、これを抽出条件で氏名をAさんと入力して絞り込んで残高を計算させると、残高の計算がうまくいかなくなってくるのです。 残高の計算式をどのように変更すればよいのかどなたか教えてください。どうぞ宜しくお願いいたします。 ID 氏名 月日  適用  入金額 出金額  残高 1 Aさん 5/01 文房具.........\0.........\300.......-\300 2 Bさん 5/03 食料品.........\0.........\500.......-\800 3 Aさん 5/04 入金........\1000...........\0.........\200 4 Aさん 5/10 CD.............\0.........\500.......-\300 5 Bさん 5/01 入金........\1000...........\0.........\700 6 Aさん 5/04 お菓子.........\0.........\200.........\500 7 Cさん 5/08 入金.........\500...........\0........\1000 残高はうまく計算されているが、個別に残高が集計されていません。 これをAさんだけを抽出条件で抽出すると ID 氏名  月日  適用  入金額 出金額  残高 1 Aさん 5/01 文房具.......\0........\300.......-\300 3 Aさん 5/04 入金......\1000..........\0.........\200 4 Aさん 5/10 CD...........\0........\500.......-\300 6 Aさん 5/04 お菓子.......\0........\200.........\500 となってしまい、残高が個別計算されなくなってしまいます

  • エクセルの出納帳の残高表示

      A   B    C  入金 出金 残高 1 2 3 レイアウトはこんな感じです。 C2に残高を出すとしたら数式は「=C1+A2-B2」にして、C3以降の残高は相対参照で出してます。 これを、入金や出金の列に数字を入力すると自動的に残高が計算されてそれが残高の列に表示されるように設定することが可能の様ですが、どうしてもその方法がわからないのです。ぜひ教えてください!!

  • 残高を表示したい

    今までEXCELだった銀行口座データをACCESSで管理しようと思っています。 テーブルの構造は[ID][日付][内容][入金][出金][残高]です。 残高の計算は前日までの残高+入金-出金です。 クエリで計算すると思うので、色々やってみたのですがうまくいきません。 ご回答宜しくお願いいたします。

  • アクセス クエリでの残高計算について

    アクセスクエリでの残高計算について 返金日を入力した場合、伝票日を基準とした残高がマイナスとなる式を教えてください。 現在のクエリ(ID~返金日)の状態です。 ID......伝票日....会社....銀行......出金額......返金日..........残高 1..........4/1.............A..........あ..........100円..........5/10.............100円 2..........4/15..........B..........あ..........400円..........空白.............500円 3..........4/30..........C..........い........1000円..........5/15..........1500円 4..........5/10..........B..........い...........300円..........5/20..........1200円 5..........5/14..........A..........い..............50円..........空白..........1250円 6..........5/15..........A..........あ..............50円..........空白............300円 【補足説明】 ID4:ID1でAが100円返金済みなので1500+300-100=1200円となる ID6:ID3でCが1000円返金済みなので1250+50-1000=300円となる (1)返金日に日付けを入力するとマイナスとなる残高計算をしたいと考えていますが可能でしょうか? ・可能な場合、数式?を教えていただきたいです。 ・不可能な場合、どういった解決策があるか教えていただきたいです。 (2)また、A会社を抽出後に、銀行別で(1)と同じように残高を表示させたいと考えていますが、 どのように、(1)の表よりどのように加工すれば、いいのでしょうか? (簡単にでもいいので是非お願いします) 今回アクセスを初めて使い、苦戦しております。 どうぞ、ご回答のほう、よろしくお願いいたします。

  • Excelで通帳と同じ表を作るとき

    Excel で単純に 通帳と同じような表を作ると残金の所は自動で計算できますか A     B     C     D     E 入金詳細  入金額   出金詳細  出金額   残高       5000            3000                   2000  この記入方法で残高は自動計算できますか? 詳細の所には文字を入れたいです。 例えば、A給料 C衣類  など Excel初心者です よろしくお願いします

  • SQLで残高計算

    現在 id-日付-入金-出金-残高 という5項目あるデータベースがあります。 入出金額を変更した際など、日付でソートをして、すべての行の残高データを再計算し、データを更新したいのですが、どのようなSQL分を使えばよろしいのでしょうか。 ご教授願います。

    • ベストアンサー
    • MySQL
  • Accessで計算の方法

    Excelはある程度出来ますが、Accessは超初心者です。教えてください。 計算式はフィールド名を使って行うようですが、上の行のフィールドの数字と今の行の数字を加算・減算などするときはどのような式になりますか? 例えば、「この行の預金残高」=「上の行の預金残高」+「この行の入金額」-「この行の出金額」、の場合は? フィールド名は、[預金残高]、[入金額]、[出金額]としましょう。

  • 口座残高の日締めの方法

    お願いします。 Access2000で銀行口座管理用DBを作成中です。 テーブルは、(1)入金用(2)出金用(3)銀行登録(4)支払先登録(5)入金元登録の5種類。入金用に入金額、出金用に出金額がそれぞれ入ります。銀行口座の数は3つあります。 入金用・出金用のそれぞれのフォームで毎日取引を入力していきますが、入力がすべて完了したら日締め作業を行い、各口座の残高を算出して実際の銀行残高と照合したいと考えています。 残高を算出するためには、(1)前日残高(2)当日入金計(3)当日出金計が必要ですが、 1)前日残高は変数(毎日更新) 2)入金日計はクエリを使って集計 3)出金日計はクエリを使って集計 といったことになると思いますが具体的なプロシージャについてご指導いただけませんか? よろしくお願い致します。

  • Excel 通帳計算の表の残高自動計算するには

    Excel で単純に 通帳と同じような表を作ると残金の所は自動で計算できますか A     B     C     D     E 入金詳細  入金額   出金詳細  出金額   残高       5000            3000                   2000  この記入方法で残高は自動計算できますか? 詳細の所には文字を入れたいです。 例えば、A給料 C衣類  など ☆下記回答いただきましたが 2行目以降データ入力行のA~E列の任意のセルをクリックした瞬間にE列に残高計算式"=SUM(B$2:B○)-SUM(D$2:D○)"を自動的にセットさせる方法があります。 (注)ここで残高計算式中の"○"は選択したセルの行番号値です。 初心者にとっては少々大変ですが、次の操作を一度だけしっかり行うと あとは計算式の自動セットの恩恵に預かれます。 (1)Excel画面の下端にあるシート見出し(例えば「Sheet1」)上を右クリックし (2)表示されたメニューから「コードの表示(V)」を選ぶ (3)表示されたコードウィンドウの上部の左側に「(General)」と表示されている部分の右にある「▼」ボタンをクリツク (4)表示された一覧の中から「Worksheet」を選択 (5)コードウィンドウに Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub と表示される (6)前項の「Private ・・・・Target As Range)」行と「End Sub」行の間に次のコードをコピーして貼り付ける。 rw = ActiveCell.Row: clm = ActiveCell.Column If rw >= 2 And clm <= 5 Then Cells(rw, 5).FormulaR1C1 = "=SUM(R2C[-3]:RC[-3])-SUM(R2C[-1]:RC[-1])" 'E列のセルに残高計算式をセット End If (7)画面右上にある赤地に白抜きの「×」をクリツク、これで終了です。 これを変更して A→日付け B→詳細 C→入金 D→出金 E→残高 だと どうすればいいですか?

  • 残高計算を崩さず、スペースを入力する方法

    A      B      C       D      入金     出金    残金 7/1         7/2   10,500   -830    5,632,895 7/3         -276,000  5,356,895 7/4   31,500          5,388,395 7/5 7/6 7/7          -50,300  5,338,095   上記の表で入出金明細のない部分のみ自動計算でスペース入力にする方法、または、上のセルと同じ数値の場合にスペースが入力される、 もしくは、入金と出勤がない場合にスペースが入力されるなどの方法はありますか? 下記の計算式を入力しましたが、オートフィルでコピーしたら、残高計算を崩れてしまいます。 =IF(AND(ISBLANK(E10),ISBLANK(F10)),0,G9+E10+F10) セルの書式設定→ユーザー定義 #,##0_ ;[赤]-#,##0; 残高計算を崩さず、できる方法がわからず困っております。 みなさんの知恵をお貸し下さるようお願い致します。  

専門家に質問してみよう