• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESS2000 合計の表示がおかしい)

ACCESS2000 合計の表示がおかしい

このQ&Aのポイント
  • 毎日の売上と仕入れの金額を合計して表示する際に、0円の売上が正しく表示されない問題が発生しています。
  • 現在の表示では、0円の売上がある日の合計が400円と表示されてしまいます。
  • 同様の問題は仕入れにも存在し、正しい表示が行われていません。

質問者が選んだベストアンサー

  • ベストアンサー
  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.5

なんどもすみません(T T)。 手順3: にHaving句の条件を追加してください。

noname#228847
質問者

お礼

出来ましたー!ヽ(´∇`)ノ ありがとうございます。 お手数かけました・・・。

その他の回答 (4)

  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.4

#1です。以下の手順でやってみてください。 1つのSQLでもできるのですが、(副問い合わせ使えば) 最も簡単な方法として 手順1: SELECT T受注伝票.受注日, Sum(T受注伝票.税込金額計) AS 税込金額計の合計 FROM T受注伝票 GROUP BY T受注伝票.受注日; のSQLのクエリ A を作成する。 手順2: SELECT T発注伝票.発注日, Sum(T発注伝票.税込金額計) AS 税込金額計の合計 FROM T発注伝票 GROUP BY T発注伝票.発注日; のSQLのクエリ B を作成する。 手順3: SELECT [A].[受注日], [A].[税込金額計の合計], [B].[税込金額計の合計] FROM A INNER JOIN B ON [A].[受注日]=[B].[発注日]; のクエリ Test を作成する。 で手順3で作成したクエリ Test で正しい結果が出てくるはずです。(^^) なぜこんな現象になったかというと、T受注伝票の受注日に対してT発注伝票 の発注日が複数レコードあることにより、合計値がそのレコード分だけ 加算されてしまったのですね。

  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.3

またまたこんにちわ(^^)。#1です。 う~む…。困りましたな(@ @; 条件とかはどうなっているのでしょうか? HAVING ((T受注伝票.受注日) Between [FROM] And [TO]) の[FROM]と[TO]の条件にはどういったデータを入れているのでしょうか? 例えば2003/1/1から2003/1/3までのデータを入れたい場合は、 SQLの条件に直打ちしてやってみてください。 HAVING (((T受注伝票.受注日)>=#2003/1/1# And (T受注伝票.受注日)<=#2003/1/3#)) ってなかんじで。

noname#228847
質問者

お礼

ほんとどうもすいませんです。 抽出条件に関しては、実はやってたりするんですよ・・・。 任意の日付を入れるのでなくても、やはり合計が倍で出たりしました。

  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.2

う~ん。#1です。 おかしいですな。私も実際やってみて出来たのですが…。(?@?) では、実際にSQLをクエリのSQLビューに入れて デザインを開いてみてください。 ひょっとしたらスペース等の関係でエラーがでているのかも…。 フィールド名がおかしくなってたりしたらなおしてみてください(^^;

noname#228847
質問者

お礼

お手数かけます。 スペースでエラーが出てました。 どうもすいません。 しかし、相変わらず合計は2倍になったりのままです...。

  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.1

こんにちわ(^^)。 直接の回答につながってないかもしれないのですが、 SQL中で T受注伝票 INNER JOIN T発注伝票 ON T受注伝票.受注日 = T発注伝票.発注日 を行っているということは、 T発注伝票.発注日 に関する条件や表示はいらないのでは…? T発注伝票.発注日の条件を指定するということは、 T受注伝票.受注日の条件を指定すると同じことなので SELECT T受注伝票.受注日 , Sum(T受注伝票.税込金額計) AS 合計 , Sum(T発注伝票.税込金額計) AS 合計1 FROM T受注伝票 INNER JOIN T発注伝票 ON T受注伝票.受注日 = T発注伝票.発注日 GROUP BY T受注伝票.受注日 , T発注伝票.発注日 HAVING   ((T受注伝票.受注日) Between [FROM] And [TO]) ORDER BY    T受注伝票.受注日; でいいと思います。

noname#228847
質問者

お礼

早速の回答、ありがとうございます。 やってみたんですが、構文エラー:演算子がありませんと言われてしまいました・・・。

関連するQ&A