お世話になっております。
以下の点についてアドバイスをお願いします。
・「製品テーブル」、「売上テーブル」と「生産テーブル」を作って、在庫の累計計算をしたいと
考えております。
・作成したテーブルに基づき、添付画像にあるクエリを作成しました。
・このクエリで以下の数式を入力して在庫の累計計算をしようとしたのですが、エラーがでて、計算式の入力を
完了できません。数式をどのように変更すればよいかアドバイスをお願いします。
DSum(“[生産数]-[売上数]”,”B”,”製品コード=”&[製品コード]&”AND年月<='"&[年月]&"'")
よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
の続きですね
DSUM関数は使ったことがありません。
改めて見直しましたが、製品毎にグループ化する方法がわかりません。
VBAが必要です。
製品テーブル、在庫テーブル、中間テーブルの3つ。
添付されたリレーションは確かに直列ですが問題がありそうです。
クエリーは在庫テーブルを基にして、売上クエリーと生産クエリーの2つ作成します。
売上クエリー
製品コード
年月
期初在庫数(規定値=0)
売上数(規定値=0)
売上金額(規定値=0)
生産クエリー
製品コード
年月
生産数(規定値=0)
製品テーブル(主キー)
製品コード
製品名
在庫テーブル(データの重複を避けるため主キーは製品コードと年月)
製品コード
年月
期初在庫数(規定値=0)
売上数(規定値=0)
生産数(規定値=0)
期末在庫数(規定値=0)
売上金額(規定値=0)
生産金額(規定値=0)
中間テーブル(データの重複を避けるため主キーは製品コードと年月)
製品コード
繰越在庫数(規定値=0)
以下に在庫数の繰越計算のルーチンを記述します。
DoCmd.SetWarnings Trueは更新の過程を表示されます。運用時はFalseにします。
------------------------------------------------
Private Sub 在庫繰越B_Click()
DoCmd.SetWarnings True
DoCmd.RunSQL ("Update 在庫テーブル set 期末在庫数 =期初在庫数+生産数-売上数 where 年月 =月初 ;")
DoCmd.RunSQL ("Delete From 中間テーブル;")
DoCmd.RunSQL ("Insert Into 中間テーブル(製品コード,繰越在庫数) select 製品コード,期末在庫数 From 在庫テーブル WHERE 年月 = 月初 ;")
'T在庫へ追加された商品も含めてレコードを追
DoCmd.RunSQL ("Insert Into 在庫テーブル(製品コード,年月) Select 製品コード,翌月 From 製品テーブル ;")
'T在庫の当月入出庫数を0にする
DoCmd.RunSQL ("Update 在庫テーブル set 期初在庫数 = 0 where 年月 = 翌月 ;")
DoCmd.RunSQL ("Update 在庫テーブル Inner Join 中間テーブル On 在庫テーブル.製品コード = 中間テーブル.製品コード set 期初在庫数 =繰越在庫数 where 年月 = 翌月 ;")
DoCmd.SetWarnings True
MsgBox ("在庫更新完了")
End Sub
追伸
年月は日付型にして、月初日にすると何かと便利です。
月末=年月+31-day(年月+31)
翌月=月末+1
自分は参考URLを頼りにしています。
参考URL:http://www.geocities.jp/cbc_vbnet/top/nyumon.html
No.1
- 回答日時:
全体として良く設計されたテーブル構造ですが、少し、手直しを必要とする箇所もあります。
修正点1、売上や生産の履歴テーブルに売上製品コードや生産製品コードは不要。
理由、そういうコードは製品のテーブルにあれば良い。
*私の新[製品台帳]からこの二つのコードが欠落しているのはミスです。当然に、必要です。
【リレーションシップの考え方】
例示のようなリレーションシップですと、例え何らかの理由で製品台帳から製品を削除されるという事故が起きても、売上と生産の履歴は表示されます。
修正点2、少なくとも製品台帳に列[当期期首在庫]は必要です。システムの立ち上げ時には、先ず、この列の値を設定することから始めます。
修正点3、棚卸処理を行うという考えを導入するのか否か?
仮に、棚卸処理を行うということであれば、売上履歴.区分、生産履歴.区分を追加して売上や返品などを記録しておくべきでしょう。また、在庫参照の高速化を図るためには、当期売上数(又は、当月売上数)などの列を製品台帳に加えておくのも手です。
【在庫を求めるクエリ】
もちろん、質問者が意図するやり方でも現在庫は求められます。そのクエリは次のようです。
SELECT 製品台帳.ID, 製品台帳.製品コード, 製品台帳.年次期首在庫数,
DSum("売上数",
"売上履歴",
"製品台帳_ID=" & [ID] & "
AND [売上日] BETWEEN #2014/01/01# AND #2014/12/31#")
AS 当期売上数,
DSum("生産数",
"生産履歴",
"製品台帳_ID=" & [ID] & "
AND 生産日 BETWEEN #2014/01/01# AND #2014/12/31#")
AS 当期生産数
FROM 製品台帳;
棚卸処理とは、通常は、このDSum部分を月単位で(VBAで)行います。「先月末の在庫数は?」というリクエストに応えるための方策です。
私が、気が付いた点は以上です。
お世話になっております。
懇切なアドバイスに深謝申し上げます。
いただいた内容で作成します。
不明点があれば改めてご連絡させていただきます。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで在庫表(クエリ、ピボット) 2 2022/04/11 17:11
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- Excel(エクセル) エクセルのSUM関数について 4 2023/04/18 10:37
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) エクセルで、未来の月の数値を表示させないようにしたい 1 2022/05/07 18:58
- 高校 日商簿記3級の勉強中なのですが 精算表が完成せず困っています。 こちらの問題の回答を教えていただきた 2 2023/03/02 09:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エスエス製薬で探してる鼻炎薬…...
-
日本メーカーが出している「Typ...
-
現在のセリアかダイソーで、SD...
-
マクロで最終行から上に検索を...
-
OKホームセンターに100ミリまた...
-
ヨドバシカメラのネット通販で...
-
エクセルで在庫表作成、数量が...
-
在庫日付順に先入先出しをエク...
-
在庫月数の求め方について
-
auのスマホについて
-
在庫評価単価について
-
未使用新品、5年の長期在庫だっ...
-
iPhone 15を昨日購入し、今日の...
-
Excelで在庫管理の表を作りたい
-
棚卸資産(流動資産)の税金に...
-
ふなっしーまんじゅうの販売っ...
-
手書きの在庫(貸出)管理表
-
近くのビックカメラか、本店に...
-
生産完了品と在庫限定品の違い
-
通販の在庫案内で、「残り在庫...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
現在のセリアかダイソーで、SD...
-
ヨドバシカメラのネット通販で...
-
メルカリ無在庫物販
-
マクロで最終行から上に検索を...
-
日本メーカーが出している「Typ...
-
在庫日付順に先入先出しをエク...
-
製造業ですが、廃棄処分(資材...
-
エクセルで在庫表作成、数量が...
-
OKホームセンターに100ミリまた...
-
生産完了品と在庫限定品の違い
-
VBA内でSQL(UPDATEをループ処...
-
売上在庫の評価減後の取扱い
-
在庫引当とは?
-
無在庫転売について。 今度スク...
-
iPhone 15を昨日購入し、今日の...
-
在庫月数の求め方について
-
輸入品の棚卸在庫について
-
解き方がわかりません。力を貸...
-
アニメイトに電話して在庫を確...
-
不良品を交換したいけど在庫が...
おすすめ情報