- ベストアンサー
アクセス関数(残高表示)
アクセスの関数(残高計算)について教えてください。 金銭管理表を作成し、残高を表示したいのですが、個別に集計してしまうと上手く残高が表示されません。 最初にテーブルにて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 となってしまい、残高が個別計算されなくなってしまいます
- himawri170510
- お礼率86% (19/22)
- オフィス系ソフト
- 回答数2
- ありがとう数5
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
氏名も条件に加えてやらなきゃだめですね 残高: DSum("Nz([入金額],0)-Nz([出金額],0)","テーブル","ID<=" & [ID] & " and 氏名='" & [氏名] & "'") だけどID順だけでいいいの? 日付順、日付が同じならID順とするところでは? 残高: DSum("Nz([入金額],0)-Nz([出金額],0)","テーブル","([月日]<#" & [月日] & "# or 月日=#" & 月日 & "# and ID<=" & [ID] & ") and 氏名='" & [氏名] & "'")
その他の回答 (1)
- x0000x
- ベストアンサー率52% (67/127)
今晩は。 データからAさんの入出金と残高の整合性が表示できれば良いなら、 こんな感じです。 以下のSQL文をクエリのSQLビューに貼り付けてください。 SELECT T1.氏名, T1.月日, T1.適用, T1.入金額, T1.出金額, (SELECT sum(入金額-出金額) as 残高 FROM T1 AS TZ WHERE 氏名 = 'A' AND TZ.ID <= T1.ID) AS 残高 FROM T1 WHERE T1.氏名='A'; ※テーブル名、氏名の"A"は適当置き換えてください。 ※DB値のNULLについては、考慮してません。(NZ())などで対処してください。
お礼
今回のアドバイスをきっかけにSQL文を勉強することができました。ありがとうございました。
関連するQ&A
- 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人とも表示できるようになるのか、どなたか教えてください。 どうぞよろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- Accessで計算の方法
Excelはある程度出来ますが、Accessは超初心者です。教えてください。 計算式はフィールド名を使って行うようですが、上の行のフィールドの数字と今の行の数字を加算・減算などするときはどのような式になりますか? 例えば、「この行の預金残高」=「上の行の預金残高」+「この行の入金額」-「この行の出金額」、の場合は? フィールド名は、[預金残高]、[入金額]、[出金額]としましょう。
- ベストアンサー
- その他(Windows)
- エクセルの出納帳の残高表示
A B C 入金 出金 残高 1 2 3 レイアウトはこんな感じです。 C2に残高を出すとしたら数式は「=C1+A2-B2」にして、C3以降の残高は相対参照で出してます。 これを、入金や出金の列に数字を入力すると自動的に残高が計算されてそれが残高の列に表示されるように設定することが可能の様ですが、どうしてもその方法がわからないのです。ぜひ教えてください!!
- ベストアンサー
- Windows XP
- アクセス クエリでの残高計算について
アクセスクエリでの残高計算について 返金日を入力した場合、伝票日を基準とした残高がマイナスとなる式を教えてください。 現在のクエリ(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)の表よりどのように加工すれば、いいのでしょうか? (簡単にでもいいので是非お願いします) 今回アクセスを初めて使い、苦戦しております。 どうぞ、ご回答のほう、よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- 口座残高の日締めの方法
お願いします。 Access2000で銀行口座管理用DBを作成中です。 テーブルは、(1)入金用(2)出金用(3)銀行登録(4)支払先登録(5)入金元登録の5種類。入金用に入金額、出金用に出金額がそれぞれ入ります。銀行口座の数は3つあります。 入金用・出金用のそれぞれのフォームで毎日取引を入力していきますが、入力がすべて完了したら日締め作業を行い、各口座の残高を算出して実際の銀行残高と照合したいと考えています。 残高を算出するためには、(1)前日残高(2)当日入金計(3)当日出金計が必要ですが、 1)前日残高は変数(毎日更新) 2)入金日計はクエリを使って集計 3)出金日計はクエリを使って集計 といったことになると思いますが具体的なプロシージャについてご指導いただけませんか? よろしくお願い致します。
- 締切済み
- その他(データベース)
- ACCESSで残高のある請求書作成で困っています
アクセスを使って納品伝票を作っているのですが、 納品書は作れたのですが、請求書を作る所で困ってしまいました。 請求書には得意先の月ごとの請求額と、前月の残高を印刷したいのですが、集計した請求額と残高をうまくレポートに表示できません。 現在、納品テーブルから追加クエリを用いて 取引テーブルに一月ごとの請求額を集計して追加しています。 納品テーブル(得意先 日付 売上) 追加クエリにて… 取引テーブル(得意先 日付 請求額 入金(残高)) (日付はその金額を算出、あるいは入力した日です) 入金もこのテーブルに追加しているのですが、残高で困ってしまいました。 残高はSum(請求額)-Sum(入金額)で求められると思うのですが、このデータを格納する場所がわかりません。 できれば取引先テーブルの入金フィールドの隣にでも追加できれば楽なのですが…(できればそのままレポート作れますよね)。 今は残高テーブルを新たに作り、そこに追加クエリで追加しています。 残高テーブル(得意先 日付 残高) 現在、得意先の情報を入力する得意先フォームのサブフォームに取引テーブルの内容を表示するようにしてあります。 入金もこのフォームから行っているのですが、このフォームから表示している得意先のIDと日付を元に、取引テーブルの請求額と残高テーブルの残高を参照してレポートは作成できますか? フォーム上のコマンドボタンから印刷しようと思い、 マクロの条件式をいろいろ変えたりしてみましたがうまくいきません。 どうもレポートの理解がまだ足りない様です。 かなり見当違いの事をしているのかもしれませんが、 どうか宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 預金残高の更新
お尋ねします。 銀行預金の管理表をAccess2002で作成中です。 毎日、入出金があり、その結果として預金残高が更新されます。 レポートで預金管理表を作成しますが、項目としては、(1)前日繰越残高(2)当日入金額(3)当日出金額(4)当日繰越残高という4つの情報を表示します。 計算としては(1)+(2)-(3)=(4)という結果になりますが、「前日繰越残高」をうまく管理する考え方を教えて頂きたいのです。 預金テーブルに前日繰越残高を履歴として保持していくのか? それとも、クエリでその都度計算して求めればいいのか? よろしくお願いします。
- ベストアンサー
- その他(データベース)
- Excelで作成する家計簿の残高欄に使用する関数について
家計簿をExcelを使い作成しています。入金・出金した後の残高欄(金額)をそのまま最終行に移行(転記)したいのですが、どの様な関数を利用すれば簡単に移行(転記)出来ますか? 事例: 日付 入金 出金 残高 2/23 10,000 10,000 2/25 5,000 5,000 { 数行が空欄 } (月末) 5,000 [転記]
- 締切済み
- その他(ソフトウェア)
お礼
とても役に立ちました。ありがとうございました。