dポイントプレゼントキャンペーン実施中!

Access2003を使用中です。
Access初心者です。

ある数値データのテーブルがあります。
A~Gグループ毎にクエリをつくりそれぞれ小計を出しています。

さらにA小計~G小計 を合計する別のクエリをつくり、
 合計:Nz([A小計]+[B小計]+・・・・+[G小計])
という式を入れたのですが、計算されるのではなく、数字の連なりになって出てきます。

説明が悪いのですが、
 例えばA小計=12  B小計=16 C小計=6 ・・・・ だと
このフィールドには  「12166・・・」という形で出てきます。


計算の式が間違っているのでしょうか?それともクエリで出した小計を更に合計することは出来ないのでしょうか?

申し訳ありませんが、ご教授ください

  

A 回答 (2件)

たぶん、小計の部分がテキスト型の


フィールドをたしているからだと思います。
以下のようにしてみてください。また
Nz関数の使い方も変更してください。

合計:CLng(Nz([A小計]))+CLng(Nz([B小計]))+・・・・
    • good
    • 0
この回答へのお礼

出来ました!
ありがとうございます!!!

CLngがテキスト型のデータを数値として認識してくれるようになるんですね!
きっとフィールドの設定の問題だろうとは思ったのですが、クエリで作ったものを変える方法は分からなくて・・・

CLngまだキチンと理解したわけではないので、これから勉強してみます。
私のもっている本(基礎的なもの)では載っていないようですので、ちょっと調べてみます。

ご教授ありがとうございました

お礼日時:2010/12/16 17:23

失礼があったらパスしてください



>合計:Nz([A小計]+[B小計]+・・・・+[G小計])

自分の知識不足かもしれませんが上記の Nzの意味が分かりません
どのような場所で記述していますか

合計:[A小計]+[B小計]+・・・・+[G小計] ではだめですか

自分がテーブルを設計する場合 商品コード,金額 といったように
分類項目と計算項目のフィールドの組み合わせとします。


売上テーブル(商品名,金額)

商品毎の金額小計は
select sum(金額) from 売上テーブル group by 商品名

合計は単に
select sum(金額) from 売上テーブル

としています。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

Nz関数は未入力のフィールドを「0」として計算できるようにする関数だそうです。
データによっては未入力が発生するので設定していました。

[A小計]・・・自体がクエリで計算されたフィールドで、数値型にならなかったことに原因があったようです。

無事解決しました。

貴重なご意見ありがとうございます

お礼日時:2010/12/16 17:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A