• ベストアンサー

MS ACCESSで数量刻みごとの合計を出したい

アクセスでQuantityの刻みごとに合計を出したいのですが、クエリーの良い知恵が浮かびません。 現状のデータとしては 郵便番号 出荷指示番号 Quantity  があり、これを郵便番号ごとに1トン以下の合計、2トン以下の合計、3トン以下の合計、が一行に表示されるというクエリーを作りたいのです。 自分でも考えてみたのですが、Quantityを並べ<1, betwen 1.1 and 2 とやると<1の条件に当てはまるものだけが抽出されるか、あるいは条件に当てはまるものなしとなってしまうのです。 なにか良い解決策がありましたらお教え下さい。

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>良い解決策がありましたらお教え下さい。 良いかはわかりませんが簡単にやるには1トン以下の合計、2トン以下の合計、3トン以下の合計の表示であれば3つのクエリを作りネストすれば出来ます。 郵便番号ごとの全ての合計、2トン以下の合計、3トン以下の合計のクエリを別々に作り郵便番号ごとにグループ化し合計を出しておきます。 郵便番号ごとの全ての合計のクエリに2トン以下の合計、3トン以下の合計のクエリをテーブル追加し郵便番号同士をドラッグし結合します。結合プロパティで全ての合計のクエリの全レコードと2トン以下の合計クエリの同じフィールドのレコードをだけを含める(LEFT JOIN)にします。 3トン以下の合計のクエリも同様に全ての合計のクエリの全レコードと同じフィールドのレコードをだけを含めるにします。 2トン以下の合計クエリと3トン以下の合計のクエリの合計のフィールドをクエリに追加し集計欄はグループ化でも合計でも同じ結果になると思います。 1トン以下の合計は新しいフィールドに 1トン以下合計:[全ての合計]-Nz([2トン以下の合計])-Nz([3トン以下の合計]) とすれば算出できます。 これが簡単だと思いますが。 SQLなら クエリ名  合計フィールド名 2t以下合計.2t金額合計 3t以下合計.3t金額合計 とした場合。 SELECT [1t以下合計].郵便番号, Sum(nz([1t金額合計])-nz([2t金額合計])-nz([3t金額合計])) AS 1t以下合計, Sum([2t以下合計].[2t金額合計]) AS 2t金額合計の合計, Sum([3t以下合計].[3t金額合計]) AS 3t金額合計の合計 FROM (1t以下合計 LEFT JOIN 2t以下合計 ON [1t以下合計].郵便番号 = [2t以下合計].郵便番号) LEFT JOIN 3t以下合計 ON [1t以下合計].郵便番号 = [3t以下合計].郵便番号 GROUP BY [1t以下合計].郵便番号 ORDER BY [1t以下合計].郵便番号; これで行けると思います。

その他の回答 (1)

noname#46899
noname#46899
回答No.1

Accessはあまり使いませんが、Excelでも何でも、通常こういうことをする場合には「Quantityの刻みごと」の欄を作ってそれごとに合計をとればよいのではないかと。 例えば、クエリにINT(Quantity)とかでトン数の整数値を導出する式フィールドを作ればできるんじゃないでしょうか。

関連するQ&A

  • Access 切り捨て合計クエリ

    Accessのクエリにて以下の集計・抽出を作成したいです。 抽出クエリの条件 (1):テーブルから商品名フィールで商品で始まるレコードを抽出する (2):抽出したレコードの数量フィールドの値を2000で割る (3):割り算後、小数点以下(1未満)が発生した場合は、0とする。 集計クエリの条件 (4):抽出クエリの条件式(1)~(3)を実施したのち、商品ごとに切り捨て後の整数を合算する ※数量が2000以上のレコードを抽出したいです。 どのようにすればよろしいでしょうか?

  • ACCESS クエリにて日付で抽出する方法

    宜しくお願い致します。 アクセスにて出荷管理票を作っています。 その過程で下記のクエリを作成しました。 [商品名][出荷先][出荷日][個数] 上記のクエリで[出荷日]に抽出条件を指定したいのです。 抽出条件は【1月分または7月分】です。 Between … And …を使うと Between #2009/01/01# And #2009/01/31# または Between #2009/07/01# And #2009/07/31# となるのですが、2009年というのは指定したくないのです。 2007年でも2008年でもまた2010年でも抽出したいのですが、何か方法はないでしょうか?

  • Accessのクエリ。日付と顧客で売上合計をだす。

    期間を指定して、顧客の売上を合計したいです。 2つのテーブルからクエリを作成しました。 tbl顧客 顧客番号 顧客名 tbl販売 販売番号 日付 顧客番号 金額 Q_売上 日付 顧客番号 顧客名 金額 ∑をクリックして、金額の集計は[合計]にしています。 その他は、[グループ化]です。 日付の抽出条件は、 Between [開始] And [終了] としています。 顧客毎に合計を出したいです。 よろしくお願い致します。

  • Access クエリとテーブルの合計値を一緒に表示

    クエリの合計値と親テーブルの合計値をフォーム上にて表示したいのですが、 うまく行かずに困っています。 クエリにて抽出した値の合計 Sum([Q抽出クエリ],[利用金額]) と、 抽出前の合計 Sum([T検索履歴],[利用金額]) を両方表示させたいです。 現状は下記の通りです。 ■使用テーブル・使用クエリ テーブル  [T検索履歴] ------- フィールド [検索履歴ID] [キーワード] [利用金額] クエリ   [Q抽出クエリ] …T検索履歴から特定のキーワードを含むレコードを抽出 フィールド [検索履歴ID] [キーワード] [利用金額] ■フォーム フォームのレコードソース … [Q抽出クエリ] ■現状と問題点 (1)[Q抽出クエリ]にて、キーワード『保護』を含むレコードを抽出します。 (2)抽出されたレコードの[利用金額]を、非連結テキストボックス tBox1 に表示します。 式:tBox1のコントロールソース =Sum([利用金額数]) (3)全体の利用金額合計を知るために、 [T検索履歴]の[利用金額]の合計値を非連結テキストボックス tBox2 に表示させます。 (ここが望む結果になりません。) 式:tBox2のコントロールソース =Sum([T検索履歴],[利用金額数]) 実行した結果 tBox1 … 抽出されたレコードの[利用金額]合計を表示 tBox2 … 上に同じ 望んだ結果 tBox1 … 抽出されたレコードの[利用金額]合計を表示 tBox2 … [T検索履歴] の[利用金額]合計を表示 以上、どうしたら良いのか分からず困っています。 宜しくお願い申し上げます。

  • アクセスのレポートページヘッダでの集計

    教えてください。 アクセスでのレポートのページヘッダにクエリ郵便の金額を入れています。金額の合計を出したく、=DSum("金額の合計","クエリ郵便")でできていたのですが、郵便を月ごとに表示したかったためクエリの日にち欄に 抽出条件に(Like [月を入力してください] & '*')と入力し入力した月だけの抽出をかけたところ合計がエラーになりました。レポートヘッダにレポートヘッダにある金額の合計をだしたいのですがどのようにしたらよろしいでしょうか

  • accessで順位の合計の順位の求め方

    [T_成績]というテーブルの中に    フィールド名:[出席番号]    フィールド名:[得点] というフィールドがあるとします。 まず、新規にクエリーを作ります。これはただの選択クエリーで、[T_成績]テーブルを1個だけ追加します。 クエリーグリッドのフィールド欄に[出席番号]と[得点]を追加します。 最後のフィールドに順位を求める式を入力します。式は以下の通りです。   順位: (select count(*) from T_成績 as T_成績_1 where T_成績_1!得点>T_成績!得点)+1 こうすれば順位が求められるのですが例えば国語と数学と英語の順位の合計の低い順に順番を求めたいのですが(単純に合計の順位ならでるのですが)、順位の合計の順位というものがうまくいきません。本当に困っていますまる3日いろいろ試したのですがうまくいきません。今日も徹夜でした、よろしくお願いします。

  • ACCESS2010 テキストボックスに合計値を

    どなたかお助け願います。 私のPC環境は Windows7 64bit ACCESS2010  でございます。 ACCESSは苦手ながら簡単な環境を作成いたしております。 テーブル名 T_入出金    フィールド1 入出金月    フィールド2 入金業者名    フィールド3 入金額    フィールド4 出金業者名    フィールド5 出金額 クエリ Q_入金クエリ    フィールド1 入金額の合計: 入金額    集計:合計    フィールド2 入金業者名 集計:Where条件 抽出条件:Like "業者名" フィールド3 入出金日  集計:Where条件 抽出条件:Like 201401  ←日付です。 としたものを作成いたしました。 このフィールド1の合計結果をテキストボックスに表示したく、 メイン帳票フォームのヘッダー部分にテキストボックスを設置し、  コントロールソースに =[Q_クエリ]![入金額の合計] としましたが、#Name? と出てしまいます。 関数が間違っているのでしょうか・・・?

  • Access2000レポートにおいて Vol.2

    月別のクエリーの合計を出せばいいと思い、 それぞれ合計が出るようにクエリーを作成し、レポートも作成したのですが、数値が表示されません。 レポートの結果はレポートには表示されないのですか? また、別件の質問なのですが、「レポート1」からレポートに郵便番号を出す際に、 〒***-****という形になるように 「郵便番号表示:IIf([郵便番号]="","",("〒" & Left([郵便番号],3) & "-" & Right([郵便番号],4)))」 としましたが、クエリーとレポートを実行させる際に 「郵便番号表示」というダイアログボックスが出て、困っています。 Enterを押せば普通に出てくるのですが、紛らわしいので、出てこないようにしたいのです。 何か回避策はありますか? 合わせてお答えいただけるとうれしいです。 よろしくお願いします。

  • Accessで期間指定の売上合計と順位指定のクエリ

    Accessのクエリの質問です。 (1)期間を指定した、顧客の売上を合計。 (2)その順位を出し、1位~100位や250位などの順位を指定した抽出をしたいです。 (1)期間指定の売上合計はできています。 (2)の順位をDCountでしましたが、金額(集計:合計)にしているためか構文エラーがでます。 よろしくお願い致します。 ------------------------------------------------ 2つのテーブルから、Q_売上(クエリ)を作成しました。 tbl顧客 顧客番号 顧客名 tbl販売 販売番号 日付 顧客番号 金額 Q_売上 日付(集計:Where条件) 顧客番号(集計:グループ化) 顧客名(集計:グループ化) 金額(集計:合計) 日付の抽出条件は、 Between [開始] And [終了] としています。 ------------------------------------------------

  • 合計を求めるクエリーについて

    1日から30日の間に誰が何のパンを何個売ったのかを調査できるようなデータベースを作ってみました。 クエリーの抽出条件はBetween「○○○」And「○○○」で日付で指定するようにしました。 (日付ですがデータ型はテキスト型です) 該当するレコードが30件あったとすると30件のレコードが抽出されますが、この期間内に誰が何のパンを何個売ったかの合計がわかるようにするにはどうすればいいのでしょうか? なんかうまく説明できなくてすみませんが教えてください。 よろしくお願いいたします。

専門家に質問してみよう