商品を種類別に合計しテキスト窓に表示させたい

このQ&Aのポイント
  • 商品を種類別に合計して、テキスト窓に表示させたい方法を教えてください。
  • 現在は手計算で商品の合計を予め計算していますが、効率的な方法があれば教えてください。
  • 購入品管理電池管理一覧フォームのテキストボックスに合計を表示させたいと思っています。
回答を見る
  • ベストアンサー

商品を種類別に合計しテキスト窓に表示させたい

◆環境ですが windows10 ACCESS2010 ◆希望ですが 帳票フォーム「フォームフッター」のテキストボックス(単1、単2、単3、単4)に合計を表示させたいと思っています。フォーム(購入品管理電池管理一覧フォーム)かクエリに計算式を当てはめて実現できたらと思っています。 「やっていること」 現在は手計算で(単1~単4毎)の合計を予め計算して、全てのテーブルフィールドに手入力しフォームフッダーに表示させています。 「困っていること」 新たに電化製品を購入したり買い替えたりした時、テーブルのフィールド「単1、単2、単3、単4」全て変更「合計数字」しなければならない。他の使っている人から苦笑されてしまったこともあり、再度お願いすることになりました。 ◆テーブル(購入品管理電池管理テーブル) フィールド:ID、製品名、取付、メーカー、型番、電池、種類、個数、単1、単2、単3、単4 ◆フォームの内容(購入品管理電池管理一覧フォーム) 「フォームヘッダー」※「詳細」の一覧リストから選択したレコードのみ表示。 型番、メーカー、電池、種類、個数 「詳細」※一覧リストの電池フィールド(単1~単4)に表示されたそれぞれの個数の合計をフォームフッターに表示させたい。 ID、製品名(電化製品名)、取付(本体・リモコン)、電池(単1~単4別に記載)、個数、種類(アルカリ等の区別) 「フォームフッター」 4つのテキスト窓がありテーブルフィールド(単1、単2、単3、単4)の入力済の合計数量を表示させているだけです。 以上ですが、宜しくお願いします。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.7

訂正です。 単1の個数を表示するテキストボックスのコントロールソース   =Sum(IIf([電池]="単1",[個数],0)) 単2の個数を表示するテキストボックスのコントロールソース   =Sum(IIf([電池]="単2",[個数],0)) 単3の個数を表示するテキストボックスのコントロールソース   =Sum(IIf([電池]="単3",[個数],0)) 単4の個数を表示するテキストボックスのコントロールソース   =Sum(IIf([電池]="単4",[個数],0)) のように、カウントする個数がない場合は0とします。

eokwave
質問者

お礼

piroin654様へ アドバイス「ご指導」いただきました計算式で正確に計算出来ました。表示されました。テーブルから余分な4フィールドを削除でき軽くなりました。有難うございました。

その他の回答 (7)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.8

今になってと思われますが、ご質問の趣旨を とんでもない誤解している気がしてなりません 申し訳ございませんが ------------------------------------------------- 補足お願いします。 <商品を種類別に合計しテキスト窓に表示させたい <◆テーブル(購入品管理電池管理テーブル) <フィールド:ID、製品名、取付、メーカー、型番、        電池、種類、個数、単1、単2、単3、単4 1.質問表題の商品とは製品名、電池のどちらですか 2.各フィールドの属するのは製品名、電池のどちらですか  ・製品名に属するフィールドは:取付、メーカー、型番  ・電池に属するフィールドは:種類、個数、単1、単2、単3、単4 3.なぜ製品名と電池を一つのテーブルに纏めるのですか

eokwave
質問者

お礼

chayamati様へ 何度も対応いただきまして有難うございました。質問の仕方が分っていないこともあり、貴方様を振り回してしまったようです。実は下記の計算式を記入しましたところ、合計が正確に表示できました。accessの使い方が非効率で発展性が低いと自身で感じております。今回、目的が達せられましたので、良しとしたいと考えております。有難うございました。 単1の個数を表示するテキストボックスのコントロールソース   =Sum(IIf([電池]="単1",[個数],0)) 単2の個数を表示するテキストボックスのコントロールソース   =Sum(IIf([電池]="単2",[個数],0)) 単3の個数を表示するテキストボックスのコントロールソース   =Sum(IIf([電池]="単3",[個数],0)) 単4の個数を表示するテキストボックスのコントロールソース   =Sum(IIf([電池]="単4",[個数],0))

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.6

フォームフッターのそれぞれの該当するテキストボックスの コントロールソースを以下のようにします。 単1の個数を表示するテキストボックスのコントロールソース   =Sum(IIf([電池]="単1",[個数])) 単2の個数を表示するテキストボックスのコントロールソース   =Sum(IIf([電池]="単2",[個数])) 単3の個数を表示するテキストボックスのコントロールソース   =Sum(IIf([電池]="単3",[個数])) 単4の個数を表示するテキストボックスのコントロールソース   =Sum(IIf([電池]="単4",[個数])) 以上です。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.5

>=[電池1]=Sum([単1])  =は一つだけ =Sum([単1]) --------------------------------------  テーブルを見直してみませんか ・取付:除去 電池のフィールドを単1本体、単1リモコン ・電池:除去 電池のフィールドを単1本体、単1リモコン ・種類:除去 電池のフィールドを単1本体、単1リモコン ・個数:除去 製品毎の電池の合計なら     除去しない購入製品の個数なら ・単1、単2、単3、単4:取付場所(本体、リモコン)に分ける 結果を添付します。 ------------------------------------------------- また別のシステム(資産管理)で製品テーブルがあればこれの 主キーに関連付けのフィールド(製品ID長整数型)を追加して リレーションシップで製品名、メーカー、型番も除去できます。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.4

◆環境ですが windows10 ACCESS2010 ◆テーブル(購入品管理電池管理テーブル) フィールド:ID、製品名、取付、メーカー、型番、電池、種類、個数、単1、単2、単3、単4 ◆フォームの内容(購入品管理電池管理一覧フォーム) 「フォームヘッダー」※「詳細」の一覧リストから選択したレコードのみ表示。 型番、メーカー、電池、種類、個数 「詳細」※一覧リストの電池フィールド(単1~単4)に表示されたそれぞれの個数の合計をフォームフッターに表示させたい。 ID、製品名(電化製品名)、取付(本体・リモコン)、電池(単1~単4別に記載)、個数、種類(アルカリ等の区別) 「フォームフッター」 4つのテキスト窓がありテーブルフィールド(単1、単2、単3、単4)の入力済の合計数量を表示させているだけです。 ------------------------------------------------------------------------- 1.選択はクエリーですよね 2.このフォームのレコードソースは「(購入品管理電池管理テーブル)」のみですね  フォームフッタに集計するには、その項目が詳細に配置されていなければなりません  1レコードのフィールドをヘッダー、詳細、フッタに分割配置する意味は全くありません  ≪配置内容≫   ヘッダー:印刷日、頁No.、帳表名、詳細のフィールドの項目名   詳細:テーブルの全てのフィールド     ・オートナンバー型の項目は配置しても更新できないので除外     ・フィールドが多くて画面幅に収まらないときはフッターへ配置することがある   フッター:詳細フィールド集計、頁No.レコード件数の  また添付画面を見る限り。1レコード1画面の単票形式ですね 3.添付は複数行の例です。 4.ホーム作成手順  以下の手順は【】内はクリックで進めます 【作成リボン】⇒【フォームデザイン】ここで自動でデザインリボンに替わります ⇒【プロパティーシート】⇒【シート内のレコードソースの右端Vから商品管理電池】 ⇒【シート内書式シート内の既定のビューの右端V】⇒【帳票フォーム】 ⇒【既存のフィールド追加】⇒【IDを除くフィールドを全て詳細内にドラッグ】 ⇒【配置リボン】⇒【表形式】    ※この表形式はラベルとテキストのサイズが連動し     他のボックスが移動するので重なることがありません ⇒【サイズ間隙V】⇒【自動調整】自動調整ラベルボックスの文字列が対象です ⇒【サイズ間隙V】⇒【低いコントロールに合わせる】 ⇒【スペースの調整V】⇒【なし】 ⇒【左端の薄い+をフォームヘッダーの左端にドラッグ】 ⇒【詳細バーの上辺を上へドラッグ】 ⇒【任意の場所をクリックしてボックスを解放】 ⇒【製品名のテキストボックスを上へドラッグ】 ⇒【単1,単2,単3,単4のテキストボックスを矩形選択する】 ⇒【コピーしてフォームフッターバーに貼付け】 ⇒【フォームフッターの単1を右クリック】⇒【プロパティ】 ⇒【プロパティーシート内のコントロールソースに =sum(単一) と入力】    =sum([単1]) と[]が追記される ⇒【単2,単3,単4にも同様の処理】 ⇒【単1をクリックして式が見える程度に広げる】 ⇒【他の数量のテキストボックスも広いコントロールに合わせるで一括拡大する】

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.3

フォームの形状は分かりませんがこちらで デザインしたものに操作順を四角と矢線で記述しました。   

eokwave
質問者

補足

ご返事が遅れてすいません。アドバイスをいただきました計算式を入れてみましたが上手く出来ませんでした。質問の仕方が悪いと反省しております。皆様のアドバイスが共通ですので間違いありません。そこで、以下の通りに質問を変えてみました。 ◆データ元の表示フォーム(購入品管理電池管理一覧フォーム)のテキスト窓     テキスト窓の名前:電池1    テキスト窓に表示されるデータ種類:「単1、単2、単3、単4」 ◆表示フォーム(購入品管理電池管理一覧フォーム)のフリー(データ元なし)のテキスト窓    4個のテキスト窓の名前:単1、単2、単3、単4    電池1に表示される「単1、単2、単3、単4」それぞれの合計を表示させたい。 以上ですが、宜しくお願いします。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

画像を添付します 正確にはテキストボックスのプロパティの データタブのコントロールソースに =SUM ([集計]) と記述します

eokwave
質問者

補足

遅くなりましたが、画像を添付しました。すいません。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.1

<フィールド:ID、製品名、取付、メーカー、型番、電池、種類、個数、単1、単2、単3、単4 ------------------------------------------------------------------------ フィールドの意味が理解できませんが、フォームフッターにはSUM()関数で 例えばSUM(個数)と記述します。

eokwave
質問者

補足

追伸ですが、色々自分でやってみました結果の一例を末尾に記載します。 ご返事が遅れてすいません。アドバイスをいただきました計算式を入れてみましたが上手く出来ませんでした。質問の仕方が悪いと反省しております。皆様のアドバイスが共通ですので間違いありません。そこで、以下の通りに質問を変えてみました。 ◆データ元の表示フォーム(購入品管理電池管理一覧フォーム)のテキスト窓     テキスト窓の名前:電池1    テキスト窓に表示されるデータ種類:「単1、単2、単3、単4」 ◆表示フォーム(購入品管理電池管理一覧フォーム)のフリー(データ元なし)のテキスト窓    4個のテキスト窓の名前:単1、単2、単3、単4    電池1に表示される「単1、単2、単3、単4」それぞれの合計を表示させたい。 ◆例えば見真似でやってみましたがゼロ表示「複数個ありますが」になります。    =[電池1]=Sum([単1]) 以上ですが、宜しくお願いします。

関連するQ&A

  • 電化製品の電池総数を把握したい

    「パソコン環境」 Microsoft Office 2007 Proffessonal「サポートの問題はありますが経済的な理由にて使用」 「実施したいこと」 使用中家電製品の電池種類の必要数を把握することで必用在庫数を把握したい。 「やりたいこと」 年末時や消耗時に一部又は全部の電池を入れ替える際に必用数量を把握したい。 「把握の方法」 入力フォームに電池種類(電池単1、電池単2、電池単3、電池単4)の4つの空のテキスト窓を用意して各々「電池種類」の合計個数を表示させたい。 「オブジェクト」 1,テーブル(名前):購入品電池管理表テーブル ・フィールド名:製品名、取付位置(本体・リモコン・他)、メーカー、型番、電池(単1~単4)、種類(アルカリ・他)、個数 ・提携入力用の4つのテーブル:「購入品電池取付位置テーブル・購入品電池型番テーブル・購入品電池種類テーブル・購入品メーカーテーブル」 2,入力フォーム(名前):購入品電池管理表フォーム ・テーブル全フィールド中4つのフィールド(取付位置、メーカー、電池、種類)は別テーブルデータをコンボボックにて参照入力している。 以上ですが宜しくお願いします。

  • ページフッター 詳細の合計額を表示

    テーブルを元にレポートを作っていて、 詳細エリアにフィールド(通貨型)を帳票ビューとして表示してるのですが ページフッターのテキストボックスにフィールドの合計額を表示させたいのですが どうすればいいですか?

  • テキスト窓に任意の文字を表示させたい

    「やっていること」 耐久消費財の購入品を全て登録し(保証終了)と(残日数)をフォームで確認出来る様にしています。主オブジェクトですが、テーブル名が「購入品管理」テーブルでフォームは購入品管理フォームになります。 「課題」 保証期間の終了(保証終了)表示と保証期間の残り日数(残日数)は、以下の関数で表示のできているのですが、保証が無期(永久保証)の製品では、保証期限を入力できないこともあり、「保証残日数」のテキスト窓に(無期保証又は永久保証)の表示を長い間実現できずにいます。 「やりたいこと」 保証が無期(永久保証)の商品について「保証残日数」のテキスト窓に(無期保証又は永久保証)と表示させたい。※詳細は下段を参照ください。 「オブジェクトの項目」 メーカー「フィールド」 メーカー電話番号「フィールド」 商品群「フィールド」 商品名「フィールド」 型番「フィールド」 機番「フィールド」 購入先「フィールド」 注文ナンバー「フィールド」 購入先電話番号「フィールド」 購入日「フィールド」 保証年数「フィールド」 保証期限「テキスト窓のみ」 ※テキスト窓「保証期限」欄には「購入日」と「保証期間」から(西暦で年月日)を手入力しています。 保証残日数「テキスト窓のみ」※(保証残日数)西暦と(保証終了)の文言が表示される。 ※テキスト窓「保証日数」欄には「=IIf(DateDiff("d",[本日],[有効期限])>0,DateDiff("d",[本日],[有効期限]),"保証終了")」の式をコントロールソースに書込んでいます。 以上ですが、よろしくお願いします。

  • フォームのテキストにテーブルの合計額を表示したい

    「T合計」テーブルの「数字」フィールドにいくつかのレコードに数字が入力されています。 このT合計の合計額をフォームのテキストボックスに表示させたいのですがうまくできません。 クエリ1を作成し、式1: Sum(T合計!数字)としたらうまく表示できました。 フォームのテキスト0のプロパティの「コントロールソース」に「=クエリ1!式1」としたら「#Name?」になってしまいます。 また、「コントロールソース」に「=Sum([T合計]![数字])」といれたら「#エラー」になってしまいます。 そもそも「コントロールソース」に入力することが間違えなのでしょうか? どうすればテキストボックスにT合計の合計額を表示することができるのでしょう? よろしくお願い致します。

  • クロス集計クエリの合計 テキストボックスに表示

    クロス集計クエリの合計と、フォームのテキストボックスに表示させたいのですが無理でしょうか? クロス集計クエリの行見出しには会社名A社B社が入っていて、 合計 金額フィールドには各会社の合計金額が入っています。 そのクロス集計クエリを元にサブフォームを作り、 親フォームにはめ込んだのですが その親フォームにテキストボックスを設置し、 クロス集計クエリの合計 金額フィールドの合計を表示させたいのですが サブフォームのレコードをクリックするたびに、 親フォームにテキストボックスに表示される値は、そのアクティブなレコードの値になってしまいます。 テキストボックスのコントロールソースは =[テーブル1のクロス集計のサブフォーム].[Form]![合計 金額] としています。 A社B社のそれぞれのクロス集計クエリを作成し、 それぞれを足すしか、テキストボックスに合計を表示させる方法はないでしょうか?

  • ファイルメーカーの計算について

    テーブルAとBの間で計算したいのですがうまくいきません。 A(仕入管理)にはフィールド「商品名・単価・個数・合計金額」が各5組あります。このフィールドの商品名・単価はテーブルB(商品マスタ)からルックアップしたものです。  この商品名・単価・個数・合計金額をルックアップ元のテーブルBに商品別に表示(計算)したいのですが、計算式がいまいちうまく行きません。

  • Sum・クエリ・テーブルの特定の合計をフォームのテキストボックスに表示したい

    テーブル1に番号フォールドと金額フィールド(通貨型)があり、 番号   金額 001    \1 002    \2 003    \3 ・ ・ ・ とデータが入力されています。 フォーム1にテキスト0を設置しました。 そこに「番号001の金額フィールドの合計額を表示したい」のですが どうすればいいのでしょう? SQL文で言うと SELECT テーブル1.番号, Sum(テーブル1.金額) AS 金額の合計 FROM テーブル1 GROUP BY テーブル1.番号 HAVING (((テーブル1.番号)="001")); なので それを テキスト0のコントロールソースに "SELECT テーブル1.番号, Sum(テーブル1.金額) AS 金額の合計 FROM テーブル1 GROUP BY テーブル1.番号 HAVING (((テーブル1.番号)="001"));" と入れましたが ただテキストボックスにSQL文が表示されるだけでした。 (番号フィールドは主キーではなく重複するレコードもあります) どうすれば、いいのでしょうか? ご教授よろしくお願い致します。

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

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

  • [集計フィールドの挿入]の計算結果がおかしい

    ピボットテーブルについて教えてください。 ピボットテーブルで、[集計フィールドの挿入]を行い、フィールドAとフィールドBを割り算したところ、計算結果が正しくありません。 ・フィールドAは合計で集計したもの ・フィールドBはデータの個数を合計したもの 仮に、フィールドAが100、フィールドBが20だとすると、計算結果は割り算で正しくは5となるはずですが、そうなりません。 どうやらフィールドBが、データの個数ではなく、データの合計の値でもって計算されてしまっているようです。 正しく計算される方法を教えてください。 エクセルのバージョンは2010です。 宜しくお願い致します。

  • エクセルで合計値が0の場合表示しない方法

    お教えいただきたいのですが 例えば見積書などで (単価)A1×(個数)B1=(合計)C1 (単価)A2×(個数)B2=(合計)C2 (単価)A3×・・・・ の計算式を作った場合 単価や個数に数字を入れなかったら 合計のCには0と表示されますが 合計のCに0と表示される時のみ 表示されないようにすることは可能でしょうか? うまく説明できませんが宜しくいお願い申し上げます。

専門家に質問してみよう