• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESS 2007の計算式設定について)

ACCESS 2007の計算式設定について

psgradeの回答

  • ベストアンサー
  • psgrade
  • ベストアンサー率86% (19/22)
回答No.1

ABCのみについて集計するというイメージで、Cのみ引き算ということで宜しいでしょうか? そうであれば、ABCのみ選択した一時テーブルを作成し、Cのみについて-1を掛けてから集計する事になります。 ABCのみの抽出したテーブル作成クエリー(DBtemp作成)は、下記のとおりです。 SELECT DB.科目, DB.金額 INTO DBtemp FROM DB WHERE (((DB.科目)="A" Or (DB.科目)="B" Or (DB.科目)="C")); 次に、一時テーブルDBtempについて、Cのみについて-1を掛ける更新クエリーを実行します。 更新クエリー(DBtemp更新)は次のとおりです。 UPDATE DBtemp SET DBtemp.金額 = DBtemp!金額*-1 WHERE (((DBtemp.科目)="C")); 集計は、DBtempをデータソースとする表形式のレポートを作成し、レポートフッターに=Sum(DBtemp!金額)をデータソースとするテキストボックスを配置します。ラベルに"計"と表示させます。 集計用のフォームを作って、コマンドボタン(集計)を作成し、このクリック時イベントに Private Sub 集計_Click() DoCmd.SetWarnings False '警告表示を一時的にOFFにする。 DoCmd.OpenQuery "DBtemp作成" DoCmd.OpenQuery "DBtemp更新" DoCmd.SetWarnings True '警告表示ONに戻す。 DoCmd.OpenReport "DBtemp" End Sub のプロシージャーを設定します。レポートプレビュー画像を添付しました。 こういう考え方でよろしければ参考にして下さい。

関連するQ&A

  • ACCESSで計算をさせたい。

    お世話になっています。 早速ですが、ACCESS2003でテーブルに入力した数字がエクセルのように結果を出し残すことはできるのでしょうか? テーブルでは計算ができないのでクエリでやるとしたらどのようにしたらいいでしょうか? 数量(A1)×単価(B1)=金額(C1)というC1の計算結果もレコードに保存できるものでしょうか? フォームではもちろん入力した数字を計算させることはできるのですが、その結果をレコードに残して行きたいと思っています。 どうかよろしくお願い申し上げます。

  • accessでの集計計算について

    変な質問でごめんなさい。 テ-ブルA、「年月日」「金額1」「金額2」 テ-ブルB、「購入日」「取引」「価格」 以上のようなテ-ブルがあります。テ-ブルA(フォ-ム)のデ-タは1行のみです。 クエリで以下の計算のしかたを教えてください。 「取引」フィ-ルドを抽出条件で抽出したレコ-ドの「価格」の平均値を計算し”ア”とする。 求めたい数値は、 もし、「金額1」から”ア”を減算して負数だったら・・・0 もし、「金額1」から”ア”を減算して正数だったら、その数値 ただし、「金額2」を超過した場合は「金額2」とする。 その求めた数値をテ-ブルBの全レコ-ドの「価格」フィ-ルドに埋込む(貼付)る。 分かりにくい書き方で申し訳ありません。質問の意味が分からなかったら無視してください。ど素人です。

  • access クエリーによるフィールド挿入について

    クエリーにて、抽出処理をしますが、その中で、設定されていないフィールドを故意に挿入追加することはできますか?  例  「メモ」 欄は、いずれの対象テーブル、クエリーになく、    クエリー操作により、A B C メモ D という 結果を作成したい。    ※A~Dは、いずれかのテーブル、クエリーに設定されている。   ちなみに、メモ については、当然空白のみであり、入力プロパティはなんでもいいです。 ちなみに、access 2003が対象です。

  • Sum関数の使いかたについて(ACCESS)

    レポート上に商品A、商品B、商品Cというテキストボックスがあってそれぞれのプロパティのコントロールボックスには以下の設定がしてあります。 =DSum("[商品A]","[抽出クエリ]") =DSum("[商品B]","[抽出クエリ]") =DSum("[商品C]","[抽出クエリ]") 商品A~Cそれぞれの合計値は正常に表示されるのですが、商品A~Cの合計値を別に設けたテキストボックス(総計)に表示させたいのですが、何も表示されません。 総計のコントロールボックスには以下の記述をしました。 =Sum([商品A]+[商品B]+[商品C]) Web検索で関数の使い方等を調べましたが、原因が分かりません。 どなたか、サポートをお願いいたします。

  • アクセスのクエリについて

    アクセスのクエリにおいて   店コード、店名  変更日付  備考 1     A店  2004/1/1   2      B店  2004/2/1 3      C店  2004/5/1 1      A店  2005/12/17 2      B店  2005/11/1 3      C店  2005/10/1 上記のようなクエリで店名A店B店C店それぞれの最新の日付を抽出したいのですがわかりません。 ご回答よろしくお願い致します。

  • Accessでのリレーションシップなど

    こんばんわ。過去ログを調べてみたのですが、ちょっと今ひとつ不明な点がありましたのでお伺いさせて 頂きたく記載致しました。現在、下のようなテーブルを作っております。 1)費目DB(合計60件ほど) ・科目番号←主キー設定済み ・大科目 ・中科目 ・小科目 ・予算金額 2)入力DB(約200件ほど入力/月) ・科目番号 ・金額 ← データ型:数値型/フィールドサイズ:長整数型/書式=通貨 ・調達伝票起票日 ・契約伝票起票日 リレーションシップで、1)費目DBの科目番号を「1」とし、2)入力DBの科目番号を「∞」として 組んでおります。 やりたい事は、2)入力DBに複数存在する同じ科目番号同士の金額を合計したものを出したい、という 事です。吐き出されるファイルのレコードのイメージは ・科目番号 ・大科目 ・中科目 ・小科目 ・金額の合計  です。 又、上記プラス2)入力DBにある「調達伝票起票日」毎(例:5/1~5/30分)の合計金額、という形でも 出したいのですが…。 尚、科目番号(8桁)には意味がありまして、左2桁=大科目の番号 次の3桁=中科目の番号 最後の 3桁=小科目 の番号を8桁の連番として科目番号をしております。 例えばこのような状態で科目番号11310XXX~11320XXXのみを抽出したい場合、どのようにすれば 宜しいでしょうか。 とりあえず苦労しているのが何故か金額が計算されない、という事です。データ型などの設定が誤っている 所為でしょうか。 それから、クエリーとリレーションシップとの大きな違いは、どういう所なのでしょう。 お手数ですが、どなたかご教授頂けますと大変助かります。何卒宜しくお願い致します。

  • SQLでの計算と値の集約について

    SQLについて、質問があります。 (質問) 以下のようなDBがあります。 【1のDB】 ID 品目 金額    日付 -------------------------------------------- 1   ミカン   1000    2007/11/1 1   オレンジ  2000    2007/11/1 1   レモン    100    2007/11/1 2   ぶどう   1500    2007/11/1 【2のDB】 区分  品目 金額    日付 ------------------------------------------- a    ミカン   1000    2007/11/1 a    オレンジ   500    2007/11/1 a    レモン    300    2007/11/1 a    ぶどう   1500    2007/11/1 b    ミカン    100    2007/11/1 b    オレンジ   200    2007/11/1 b    レモン    500    2007/11/1 b    ぶどう   2500    2007/11/1 条件。 1のDBの品目=2のDBの品目 やりたい事。 (1)2のDBの金額(区分=a)×1のDBの金額÷2のDBの金額(区分=b) (2)1のDBのIDで、(1)で得た計算結果を集約 上記DBで具体的に言うと、 1のDBのID=1(ミカン、オレンジ、レモン)のそれぞれの計算結果を計算 (ミカン) 1000×1000÷100=10000 (オレンジ) 500×2000÷200=5000 (レモン) 300×100÷500=30 計算結果を集計(ミカン+オレンジ+レモン) 10000+5000+30=15030 上記の作業をできれば、1回のSQLでやりたいと思うのですが、可能でしょうか? 1回のSQLでは不可能な場合、(1)番だけでもやりたいのですが・・・。 SQLのコーディングがよくわかりません。 ご教授をお願いします。

  • Access97のクエリーについて

    Access97のクエリーで次のようなデータ抽出をしたいのですが、設定方法が良く分かりません。 1.約20000レコードのCSVファイルを外部データ   のインポートでTDLを作成。 2.重複クエリーを走行すると、約10000レコードが   重複していた。 3.作成したTBLから重複者がいないデータを抽出した   い。 イメージ: 処理前  a,2222,111,1,1234567  a,1111,100,1,0001234  b,0001,234,1,5555511  c,0003,001,1,0005555  c,0005,201,1,3345678  ↓(クエリー) 処理後  a,1111,100,1,0001234  b,0001,234,1,5555511  c,0003,001,1,0005555 どのような、関数、クエリーを使えば実現できるのでしょ うか。ご教示の程よろしくお願いします。

  • ACCESS2007 クエリの抽出条件について教えてください

    ACCESS2007で、ルックアップ列(コンボボックス)を使用したテーブルがあります。そのテーブルをクエリにて、コンボボックスの条件別に抽出させたいのですが、その抽出条件を教えていただけませんでしょうか。 コンボボックスリストの中身(A,B,C)       A→Aのみ抽出したクエリ       B→Bのみ抽出したクエリ       C→Cのみ抽出したクエリ という風に作成したいのですが。 お忙しいところ申し訳ありません。よろしくお願いします。

  • Access #エラーについて

    Access初心者です。 よろしくお願いいたします。 [前提]  テーブルA のIDに紐づけてクエリBの数値をクエリCで反映させたい。  〈詳細データ〉   ・テーブルA    [ID] [名称]       1   あ     2   い     3   う     4   え     5   お   ・クエリB    [ID] [数値]     2   10     3   20     5   40   ・クエリC    [ID]  [名称] [数値]     1    あ  #エラー     2    い   10     3    う    20     4    え  #エラー     5    お   40   ・”テーブルAの[ID]”の全レコードと”クエリBの[ID]”の同じ結合フィールドだけを含めてリレーションを行っている。    ・クエリCの算式: IIf(IsError([クエリB].[数値]),0,[クエリB].[数値])  [質問]    ・クエリCの『#エラー』部分を0にしたいのですが、何か良い方法はございませんでしょうか。   ・そもそも上記のロジックは無理がありますでしょうか。    アクセスはあまりいじったことがございません。ご回答いただけますと幸いです。   よろしくお願いいたします。