- ベストアンサー
アクセス クエリで計算式の累積
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
フィールド名の、No が問題です。 Access が SELECT tbl_A.[No], tbl_A.abc, Nz(DSum("abc","tbl_A","No<=" & [No]),0) AS Dsumabc FROM tbl_A; "No<=" & を "0 <=" & と解釈してしまっています。 対症療法的には下記リンクにも有りますが、[]で括れば避けられますが SELECT tbl_A.[No], tbl_A.abc, Nz(DSum("abc","tbl_A","[No]<=" & [No]),0) AS Dsumabc FROM tbl_A; どうっっっっっっっっっっっっっっっっっっっしても、No でなきゃダメ!という場合を除き フィールド名の変更をお勧めします。 予約語や使用できない記号を使っていると、当初は機能していても思わぬ時に足元をすくわれます。 ↓熟読を http://office.microsoft.com/ja-jp/access-help/HA010030643.aspx (大文字・小文字は関係ありません、同一視されます。)
その他の回答 (4)
- nicotinism
- ベストアンサー率70% (1019/1452)
クエリの元データのテーブルと、その実際に近いデータ、 現在のクエリのSQL文 (クエリをデザインビューで開いてから右クリックでSQLビューに 切り替えて現れる文)、 今のクエリの実行結果の具体例、 が回答には必要です。 あとレコード数も教えてください (現在とこれからどれくらいまで増えそうか)
お礼
nicotinisum様、本当にありがとうございます。 tbl_A にNo.abc qer_BにDsumではやり累積ではなく総合計がでます SELECT tbl_A.[No], tbl_A.abc, Nz(DSum("abc","tbl_A","No<=" & [No]),0) AS Dsumabc FROM tbl_A;
補足
No abc Dsumabc 1 1 4 2 2 4 3 1 4
- nicotinism
- ベストアンサー率70% (1019/1452)
ID A B 1 5 2 10 5 3 20 10 4 20 10 5 -10 20 というデータがテーブル1にあったとしてクエリで 式に当たる部分を 添付図のようにすれば AB: Nz([A],0)+Nz([B],0) DsumAB: Nz(DSum("A","テーブル1","ID<=" & [ID]),0)+Nz(DSum("B","テーブル1","ID<=" & [ID]),0) ID A B AB DsumAB 1 5 5 5 2 10 5 15 20 3 20 10 30 50 4 20 10 30 80 5 -10 20 10 90 となりますけどねぇ?
お礼
ありがとうざいます。新規に別のアクセスで作成いたしますとちゃんと累計としてでてくるのですが、そちらのアクセスだとどうしても累計でなく総計の同じ値がでてきてしまいます。累計ではなく総計がでてくるのはどこか設定がおかしいのでしょうか?
- nicotinism
- ベストアンサー率70% (1019/1452)
式2:nz(dsum("A","クエリ","ID<=" & [ID]),0) + nz(dsum("B","クエリ","ID<=" & [ID]),0) になってしまうのかな。
お礼
ありがとうございます。試してみましたがだめでした。
補足
累計ではなく総計の同じ値がテキストボックスにでてきます。フォームの書式でみてみると式1をコントロールソースにしているテキストボックスの書式では日付、数値、ユーロ、・・等でてきますが式2では真っ白になっていて選べません
- m3_maki
- ベストアンサー率64% (295/459)
DSum("A+B","クエリ","ID<=" & [ID]) でしょうか?
お礼
ありがとうございます。そちらもためしてみたのですがうまくいきませんでした。
関連するQ&A
- Accessクエリで分類ごとの累計を計算する方法
テーブルのデータをクエリに読み込んで、大分類ID-小分類IDの組合せを元にして、 月々の累計を計算したいのですが、算出式がどうしてもわかりません。 DSUMを使えばいいかなと思い、クエリのフィールドに、 累計:DSUM("金額","tbl_sample", ) のような感じでやってみたのですが、条件式をどういれてよいかわかりません。 もし分かる方がいらっしゃればお知恵をお貸しください。よろしくお願いします。 イメージ的には以下のような感じで、★箇所のような累計結果を算出したいです。 ------------------------------------------------------------ 元のテーブルファイル名:tbl_sample 月 大分類ID 小分類ID 金額 ★累計 4___1___1___\100_\100 4___1___2___\200_\200 4___2___1___\300_\300 4___2___2___\400_\400 5___1___1___\150_\250 5___1___2___\250_\450 5___2___1___\350_\650 5___2___2___\450_\850 --------------------------------------------------------------
- ベストアンサー
- オフィス系ソフト
- ACCESSのクエリ計算
Access2003でクエリで特定条件に一致するIDを出して 今度はそのそれぞれのIDから+100(IDが2なら2~102の範囲でというように)の元のテーブルの 値の中からフィールド1が5以上の条件に一致するものの最小のIDをもとめたいと思ってます。 始めたばかりの初心者です DMINでできるのかなと思って下記式にしてみたのですが パラメーターエラーでうまくいかなくて、、 DMin("[テーブル1].ID","[テーブル1]","[テーブル1].ID>=[クエリ1].ID&[ID]<[クエリ1].ID+100&[テーブル1]フィールド2>5")
- ベストアンサー
- その他MS Office製品
- Access クエリで2段階計算をしたい
Access2003を使用中です。 Access初心者です。 ある数値データのテーブルがあります。 A~Gグループ毎にクエリをつくりそれぞれ小計を出しています。 さらにA小計~G小計 を合計する別のクエリをつくり、 合計:Nz([A小計]+[B小計]+・・・・+[G小計]) という式を入れたのですが、計算されるのではなく、数字の連なりになって出てきます。 説明が悪いのですが、 例えばA小計=12 B小計=16 C小計=6 ・・・・ だと このフィールドには 「12166・・・」という形で出てきます。 計算の式が間違っているのでしょうか?それともクエリで出した小計を更に合計することは出来ないのでしょうか? 申し訳ありませんが、ご教授ください
- ベストアンサー
- オフィス系ソフト
- アクセス クエリでの残高計算について
アクセスクエリでの残高計算について 返金日を入力した場合、伝票日を基準とした残高がマイナスとなる式を教えてください。 現在のクエリ(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製品
- Accessクエリでのグループ化
Accessクエリでのグループ化 以下の2つのテーブルが有ります。 ■社員テーブル ID 名前 1 Aさん 2 Bさん 3 Cさん 4 Dさん 5 Eさん ■受付テーブル ID 受付内容 受付日 社員ID 1 xxxxx 2010/3/1 1 2 xxxxx 2010/3/20 3 3 xxxxx 2010/4/10 2 4 xxxxx 2010/4/11 5 5 xxxxx 2010/4/15 1 6 xxxxx 2010/4/30 2 7 xxxxx 2010/5/3 4 そこで社員毎の受付数をカウントしたいと思っています。 ※受付日が2010/4/1以上5/1未満 名前 受付回数 Aさん 1 Bさん 2 Cさん 0 Dさん 0 Eさん 1 となるイメージです。 しかし、実際にクエリを作ると結果が 名前 受付回数 Aさん 1 Bさん 2 Eさん 1 と、なってしまいます。。 名前:グループ化 受付テーブルのID:カウント 受付日:>=2010/04/01 and <2010/05/01 ※社員テーブルの『ID』と、受付テーブルの『社員ID』を 紐つけており、結合プロパティでは『社員テーブルの 全レコードと受付テーブルの同じ結合フィールドのレコード だけを含める』としております。 あらかじめ、受付テーブルで受付期間の条件でクエリ を作成しておき、それと社員テーブルを紐つけた場合は イメージ通りの結果になるのですが、1つのクエリで 上記イメージでの結果を表示したいと思ってます。 可能でしょうか? ご教授願います。
- ベストアンサー
- その他(データベース)
- Accessのクエリ(初心者)
Access超初心者です。 クエリで悩んでいるので、お教えください。 テーブル1に CODE(商品ID)_NAME(名前)_SUU(数量)_DAY(日付)の4項目があり、 クエリを使って、最も大きいSUUを抽出したい (かつ最も大きいSUUのデータが重複している場合、その中で最も古い日付のデータのみを抽出したい)のですが・・・ たとえば、 テーブル内容: CODE(商品ID)_NAME(名前)_SUU(数量)_DAY(日付) A_あめ_600_0517 A_あめ_900_0518 A_あめ_400_0618 B_ガム_120_0217 B_ガム_060_0319 B_ガム_180_0718 B_ガム_180_0518 抽出結果: A_あめ_900_0518 B_ガム_180_0518 ということです。 デザインビューを使うとして、どのような方法がありますでしょうか? どうかご教授お願いします!
- 締切済み
- SQL Server
- Access 2000ひと月単位で一日ごとの累計を出したいのですが・・・。
いろいろ探して、 累計: DSum("新規","日報","[日付]<=#" & [日付] & "#") という、式をクエリに貼り付けたのですが、これだと、月ごとの累計にならず、困っています。どなたか、お教えいただけないでしょうか ID 日付 年月 新規 累計 1 2008/10/20 2008/10 1 1 2 2008/10/25 2008/10 1 2 3 2008/11/05 2008/11 2 4 ⇒ 2 4 2008/11/10 2008/11 1 5 ⇒ 3 5 2008/11/15 2008/11 2 7 ⇒ 5 6 2008/11/20 2008/11 1 8 ⇒ 6 7 2008/11/25 2008/11 1 9 ⇒ 7 8 2008/11/30 2008/11 2 11 ⇒ 9 9 2008/12/05 2008/12 1 12 ⇒ 1 10 2008/12/10 2008/12 2 14 ⇒ 3 一度クエリで11月(2008/11)だけにしてからやればよいと思ったのですが、DSum関数がテーブルからしか作れないようで、うまくいきません。お願いします。
- 締切済み
- オフィス系ソフト
- クエリーで前のレコードのフィールドを参照して計算する方法
+--+-----------+-----------+ |ID|フィールドA|フィールドB| +--+-----------+-----------+ |_1|___________|_________あ| +--+-----------+-----------+ |_2|_________い|_________う| +--+-----------+-----------+ |_3|_________え|_________お| +--+-----------+-----------+ 「あ」の値 と 「い」の値を足したものを「う」に 「う」の値 と 「え」の値を足したものを「お」に という具合に計算したいのですが、クエリーで可能なのでしょうか。教えてください。 VLOOKUP関数でできるようなのですが循環参照エラーが出てうまくいきません。フィールドBの式は フィールドB: DLookUp([フィールドB],"クエリ","ID=" & [ID]-1)+[フィールドA] にしています。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- アクセス・クエリーのビルドについて
《クエリー》 ビルドの式構築について 論理判断により式が違う場合、式の構築は可能でしょうか? もし A=12 B=B+1 でなければ B=13 こんな場合のビルドはどうしたらよいのか?
- ベストアンサー
- オフィス系ソフト
- Accessのレポート上での計算
現在4つのフィールドで=DCountを使ってリストの個数を返すクエリを組みました。 それをレポートで表示したのですが、この各フィールドの個数を合計したいんです。 テーブルB | A | B | C | D | ←このA~Dにはコンボボックスでタイプが入っています。 これから クエリ 式1:=DCount("*","テーブルB","[A]='タイプ1'") クエリを実行すると 1 式2:=DCount("*","テーブルB","[A]='タイプ2'") クエリを実行すると 0 式3:=DCount("*","テーブルB","[A]='タイプ3'") クエリを実行すると 1 が表示 といったようにクエリで選ばれている個数を算出しています。 このクエリを使ってレポートを作ったのですが、 レポートフッターに =Sum([式1]+[式2]+[式3]) という式を入れてレポートを表示すると 「101」と返ってきてしまいます(表示されている数字が順番にならんでる)。 目的としては「2」にしたいのですが、式が違うのでしょうか? 初心者バリバリの質問で申しわけありませんが、ご教授いただけますようお願いいたします。
- ベストアンサー
- その他MS Office製品
お礼
本当にありがとうございました!ご教授いただきありがとうございました。感謝です!!