• 締切済み

全ての列をグループ化したくない時

いつもお世話になります。 また少し行き詰まったのでご教示よろしくお願いします。 VB.NET2003 + Accese2000 での開発環境です。 いま簡単な倉庫の入出庫管理表を作ろうとしています。 フィールドは (1)入出庫日 (2)入出庫区分(入庫か出庫かの区別) (3)倉庫棚番 (4)品番 (5)ロット (6)数量    ・    ・    ・    ・ こんな感じである時点での集計表を作ろうとしました。 入出庫区分は入庫時には[1]、出庫時には[-1]を入れる様にし、在庫量を出す時には(入庫数量 数量×[1]、出庫数量 数量×[-1])の合計(Sum)で計算しようと考えました。 品番やロット別等でそれぞれ集計しようとしましたが、表示する全ての列でグループ化をする必要があるようで、そうすると入庫の合計、出庫の合計が別々に出てきてしまって、目的とする現在の数量が見えません。 入出庫合計(現在の数量)を品番やロット別に出す場合、どういう風にグループ化すればいいのでしょうか? また単純にSumを使って合計すると言うことは普通しないのでしょうか? 何かヒントをお願いいたします。

みんなの回答

noname#140971
noname#140971
回答No.1

Q、単純にSumを使って合計すると言うことは普通しないのでしょうか? A、しないと思います。 まず、システムの初期在庫を記憶するかと思います。 次に、先々月繰り越し、先月繰り越し、当月繰り越しを記憶。 ここで、伝票訂正期間を設定することになろうかと思います。 次に、設定された伝票訂正期間に応じて、各繰り越し在庫を再計算するかどうかのルール決め。 後は、ルールに従って在庫表を更新することに。 こういうのが一般的なと思います。

danchor
質問者

補足

ありがとうございます。 >まず、システムの初期在庫を記憶するかと思います。 >次に、先々月繰り越し、先月繰り越し、当月繰り越しを記憶。 >ここで、伝票訂正期間を設定することになろうかと思います。 当然期初在庫、繰越在庫は持つんですが、それは月次更新をかけた時のこととして、まっさらな(空っぽの)倉庫に出入りがあったとします。 入庫登録をして在庫を表示する、出庫があって残量を表示する という操作はごく日常的にしかも登録のたびに更新されるべきものですよね。 入出庫伝票は同じ書式のものを使い、入庫か出庫かのフラグを持たせておけばよいと考えていましたが、ここから違うのですか? 要はだらだらと伝票入力をしていても、在庫検索をした時に目的の、たとえば品番ごとの総量であるとかその内訳であるロットごとの数量を表示させようとしています。 この積み重ねと期間があって在庫表になるのでは?と思っているのですが。 引き続きご教示よろしくお願いいたします。

関連するQ&A

  • 更新クエリが実行できず、困っています。

    以前こちらで、更新クエリについて教えて頂きましたが、 実行できず、困っています。 在庫クエリで計算した在庫数を、部品マスタの現在庫に代入する 更新クエリを実行すると、 「更新可能なクエリでなければなりません」とエラー表示されます。 UPDATE T_部品マスタ AS A INNER JOIN Q_在庫 AS B ON A.部品品番=B.部品品番 SET A.現在庫 = B.在庫数; と作成しました。 以下に、作成したデータベースを書き出してみます。 どこが悪いのか、ご指摘頂ければ幸いです。 よろしくお願いします。 部品分類テーブル 部品分類ID(主キー) 部品分類名 保管場所テーブル 保管場所ID(主キー) 保管場所 部品マスタテーブル(T_部品マスタ) 部品品番(主キー) 部品分類ID 保管場所ID 部品名 現在庫 入出庫テーブル 入出庫ID(オートナンバー) 日付 部品品番 入庫数量 出庫数量 入出庫テーブルを元にクエリを作る 入庫クエリ 部品品番 入庫数量の合計 出庫クエリ 部品品番 出庫数量の合計 在庫クエリ(Q_在庫) 部品品番(部品テーブル) 部品名(部品テーブル) 入庫数量の合計(入庫クエリ) 出庫数量の合計(出庫クエリ) 在庫数(nz([入庫数量の合計])-nz([出庫数量の合計])

  • GROUP BY 句を 2つ組み合わせる方法

    【質問】 GROUP BY 句を 2つ組み合わせて、集計の集計を行う方法ってありますか? 下記対象SQLで集計を行うとメインのF_在庫履歴には、商品コードがあり、計算値の金額が 正常に出力されません。 一度、GROUP BY 句に商品コードを追加し、商品コード単位の金額合計値を取得後、 その合計値のSQLから、下記の様に、営業所単位の金額合計値を求める手法はありますでしょうか。 よろしくお願いします。 ●対象SQL SELECT TO_NUMBER(SUBSTR(S.処理対象年月日,1,6)) AS 処理対象年月 , S.内部CD AS 部CD , S.管理営業所CD AS 営業所CD , 631 AS 科目CD , (SUM(S.前月末在庫数) + SUM(S.仕入数) - SUM(S.仕入返品数) + SUM(S.移動入庫数) + SUM(S.調整入庫数) - SUM(S.売上数) + SUM(S.売上返品数) - SUM(S.移動出庫数) - SUM(S.調整出庫数) - SUM(S.仮売上数量) - SUM(S.工事出庫数量)) * MAX(DISTINCT S.在庫原価) * -1 AS 金額 FROM F_在庫履歴 S WHERE S.処理対象年月日 = W処理対象年月日 GROUP BY S.内部CD,S.管理営業所CD, TO_NUMBER(SUBSTR(S.処理対象年月日,1,6));

  • access2000です。

    こんばんは。 いつもお世話になります。 アクセスで困っております。教えてください。 テ-ブル1(原料マスター) コード  品名 100    A 200     B 300    C テーブル2(入出庫明細) 日付  コード  入庫  出庫 4/1   100    10 4/2   100          10 4/2      200    10 テーブル3(月初在庫) コード  在庫 100    10 200    100 300      50 クエリー1(入出庫の月合計) テーブル2より コード  入庫合計  出庫合計 100     10     10 200     10 クエリー2(在庫の算出) テーブル1の全コードを使用 コード  月初在庫 入庫合計 出庫合計 現在庫 100      10       10       10        10 200      100        10 300      50 となり、入庫や出庫にデータが入っていないコードのものは、現在庫が表示されません。入庫の合計は集計を合計としているだけです。現在庫はフィールドにビルドでテーブル1の月初在庫+入庫合計-出庫合計と入力しており、集計は演算としています。データの入っていないところを無視させて現在庫を全て表示させたいのです。 宜しくお願い致します。

  • Accessのレポートで日々の在庫数を求めるには?

    現在在庫管理のAccessアプリケーションを作っています。 商品別の指定期間の入出庫履歴の一覧をテーブルを基にしたレポートで表現したいと思っています。 データ基となる[T_商品別期間集計]の大まかな構成は以下の通りです。 (クエリにて指定のアイテムを指定期間で抽出しテーブルに書き込んであります) 日付 , 時刻 , 業務区分 , 前月繰越数 , 期間入庫数 , 期間返品数 , 期間出庫数 , 出庫先ID 2007/06/29 , , 7 , 52 , 1 , 0 , 0 , 0 , 0 2007/07/03 , , 2 , 0 , 0 , 1 , 0 , 0 , 0 2007/07/03 , 10:27:05 , 4 , 0 , 0 , 0 , 1 , 0 , 15780 2007/07/03 , 8:45:15 , 3 , 0 , 0 , 0 , 0 , 1 , 15857 2007/07/03 , 10:05:30 , 3 , 0 , 0 , 0 , 0 , 1 , 15631 2007/07/03 , 10:25:05 , 3 , 0 , 0 , 0 , 0 , 1 , 15816 2007/07/03 , 10:25:30 , 3 , 0 , 0 , 0 , 0 , 1 , 15780 このテーブルを基にして日付をグルーピングしたレポートを作りました。 日付グループフッターで日付ごとの入庫、返品、出庫の各値の合計をSum関数にて計算しています。 また、それらの合計値を計算し当日増減数を同じく計算させています[txt_当日の増減]。 現在の状態から、当日のこの商品の在庫数を日付グループのフッターに表示させたいのですが、 最終棚卸日(この例では2007/06/29)から当日までの入出庫数の計算をさせるにはどのような方法がありますでしょうか。 レポート内で計算した[txt_当日の増減]の当日までの集計と2007/06/29時点の在庫数を計算させる事ができれば、、、とは思うのですが、やり方がわかりません。 お分かりになる方がいらっしゃいましたら、是非教えて頂ければ助かります。

  • クエリでの抽出の仕方を教えて下さい。

    クエリでの抽出の仕方を教えて下さい。 Access2000です。 下記のような入出庫テーブルがあるのですが、 日付 ・・・・・・・日付/時刻型 取引先No.・・・・テキスト型 取引先名・・・・テキスト型 区分・・・・・・・・テキスト型 商品コード・・・・テキスト型 メーカー名・・・・テキスト型 商品名・・・・・・ テキスト型 単価・・・・・・・・数値型 入庫数量・・・・・数値型 出庫数量・・・・・数値型 備考・・・・・・・・・テキスト型 id・・・・・・・・・・・オートナンバー ここに下記のようなデータがいくつもあります。 日付 ・・・・・・・2009/8/1 取引先No.・・・・1234 取引先名・・・・ABC会社 区分・・・・・・・・出庫 商品コード・・・・01 メーカー名・・・・AAA 商品名・・・・・・ ひも 単価・・・・・・・・100 入庫数量・・・・・0 出庫数量・・・・・50 備考・・・・・・・・・特になし id・・・・・・・・・・・1 これの金額(単価*出庫数量)の合計を求めるには どうしたらいいですか? 例えば、2007/1/1~2008/12/31までの 取引先No.1234のABC会社のひもの金額の合計を知りたいんですが、、、 (例) --日付---取引先No.-取引先名----区分----商品コード--商品名---単価---入庫数量--出庫数量---備考--id 2007/1/1     1234    AAA会社   出庫    01      ひも    100      0     50     なし  1     2007/2/8       1234    AAA会社   出庫    01      ひも    100      0     100    なし  1     2007/4/8        1234    AAA会社   出庫    01      ひも    100      0     250    なし  1     2007/8/9        1234    AAA会社   出庫    02      革     200      0     5      なし  1 2007/11/25        9876    ZXY会社   出庫    01      ひも    150      0     25     なし  1  上記の例でしたら、100*50+100*100+100*250=40,000とでるような クエリを作成したいのですが…できますでしょうか?? 宜しくお願いします。

  • Accessで倉庫管理

    お世話になります。 現在Accessで在庫管理作成中です。 テーブル: 入庫:品番 品名 グループ 数量 使用者 日付 出庫:品番 品名 グループ 数量 使用者 使用状態 日付 グループ:1 消耗品        2 道具       3 機械 クエリ 消耗品在庫:入庫(消耗品)-出庫(消耗品) フォーム: 入庫フォーム、在庫フォームと出庫フォームを作成しました。 在庫フォームはクエリの元で作成しました。 以上のように作りました。 やりたいことは出庫フォームを入力する時、消耗品なら、数量を入力して、一旦在庫を確認して出したい数は在庫があれば、入力できます。そうではない場合はエラーでます。 言葉がうまく説明できないですのでイメージとしては Select Case グループID Case 1 If 数量<「在庫フォーム」の数量 Then  そのまま入力出来ます。在庫が減って行きます。 Else エアー Message box”在庫は足りません” こんな感じでコードに書き換えられますか?コードが弱いですので助けて下さい。 よろしくお願いします。  

  • Accessのグループ化合計

    VB→ストアド→Accessでデータ表示 Accessのレポートで質問です テーブルはリンク ------------------------------------------------------ Accessのレポートには単価と数量という項目があります それをグループ化します グループ化で得意先という項目の合計をもとめます 単価:テキスト型 数量:テキスト型 区分番号:数値 区分番号が1のとき単価を-(マイナス)で表示する 得意先合計と総合計の計算のときマイナスも含まれて計算されるので エラーになる 抽出条件が一致しませんと出る エラーが出ずに計算するにはどうしたらいいですか またグループかで計算するときにマイナスの項目ははずして合計を出したい これってVBA使わないと出来ないんですか? 使うならどうしたら出来ますか? [レポートフッター] ------------------------------------------- [ページフッター] ------------------------------------------- [得意先番号ヘッダー] ------------------------------------------- [詳細] 単価 数量  区分番号 ------------------------------------------- [得意先番号フッター] ------------------------------------------- 得意先合計 (=sum(単価 * 数量)) [ページフッター] ------------------------------------------ [レポートフッター] 総合計 (=sum(単価 * 数量)) -------------------------------------------

  • 入出庫プログラムで入庫単価と出庫単価を同じにしたい

    入出庫プログラムで入庫単価と出庫単価を同じにしたいプログラムを制作して欲しいと言われているのですが、一つ疑問なのですが、これまで棚卸資産評価方法にはいろいろな方法がある事が、ここでの質問とご回答でかなり理解できてきましたが、今回依頼されている入出庫プログラムにおいて、同じ品番の同じ部品の入庫伝票の単価と出庫伝票の単価を製品マスターを作った上で、同じ単価で良いというのですが、これっておかしいのではないかと思うのです。 たとえ同じ仕入先から同じ部品を仕入れ、入庫したとしても仕入単価は変わってくるのですが、それを出庫時に同じ単価で出庫する事自体、在庫資産評価がおかしくなると思うのですが如何でしょうか?

  • VB6+ADO(EXCEL)についてお教えください。Excelが更新されません。

    お知恵をお貸しください。 VB6 SP5 WIN XP SP2 ADO 2.8 Library Excel 2003 SP2 現在、以上の環境で開発を行っております。 対象Excelのシート1の名前をある機械の「部品入出庫管理」とし、シート2の名前を「部品表」としています。 「部品表」にある[在庫数]フィールドは 「部品入出庫管理」にある[入庫]フィールド、あるいは[出庫]フィールドに値が入力されれば計算される仕組みになっております。 [入庫]フィールドに値Xが入力されれば、「部品表」の[在庫数]フィールドはXプラスされ、 [出庫]フィールドに値yが入力されれば、「部品表」の[在庫数]フィールドはyマイナスされます。 アプリケーションの流れは、 (1)「部品表」の[部品番号]フィールドを検索 (2)入・出庫の数量を入力 (3)「部品入出庫管理」の[入庫]、あるいは[出庫]フィールドにADO接続で数量が入力される (4)この数量を「部品表」の[在庫数]フィールドがExcel内で自動的に計算して値を更新しておく です。 しかし、 (4)の動作ができていません。Excelのアプリケーションそのものを開くと、更新されているのですが・・・ .addnewと.updateを使っております。 何か他の命令なりがあるのでしょうか? ちょっと解りづらいかもしれませんが、お知恵をお貸しください。 大変恐縮ですが宜しくお願い申し上げます。

  • Accessで、在庫表を作りたいのですが・・・

    いつも大変お世話になっております。m(_ _)m また質問させてください。 Accessで、在庫表を作っています。 「入庫情報_テーブル」と「出庫情報_テーブル」があり、それぞれのテーブルは、製品名(型番)と数量の情報を持っています。 入庫情報の数量はプラスして、出庫情報の数量はマイナスして、差引きの在庫表を作りたいのですが・・・ 入庫情報に入っている製品名のすべてを表示して、出庫情報の数量をマイナスする・・・というのは、「結合のプロパティ」で、入庫情報の全レコードと・・・というオプションを選べば可能です。 またその逆も可能なわけですが、両方を全部表示したい時はどうすればいいのでしょうか? つまり、入庫情報に入力されている商品で出庫情報にのっていないものと、出庫情報に入力されている商品で入庫情報にのっていないものがあるわけです。 在庫表では、それぞれのテーブルに存在するすべての製品名を載せ、型番が合致した場合は、入庫数量-出庫数量で在庫を出したいのです。 出庫情報にあって、入庫情報にないものというのは、つまり、在庫数がマイナスになるということです。 両方を同時に満たすには、どのようにすればいいのでしょうか? 質問の説明文が不足していたら指摘してください。 よろしくお願いします。

専門家に質問してみよう