いつも大変お世話になっております。m(_ _)m
また質問させてください。
Accessで、在庫表を作っています。
「入庫情報_テーブル」と「出庫情報_テーブル」があり、それぞれのテーブルは、製品名(型番)と数量の情報を持っています。
入庫情報の数量はプラスして、出庫情報の数量はマイナスして、差引きの在庫表を作りたいのですが・・・
入庫情報に入っている製品名のすべてを表示して、出庫情報の数量をマイナスする・・・というのは、「結合のプロパティ」で、入庫情報の全レコードと・・・というオプションを選べば可能です。
またその逆も可能なわけですが、両方を全部表示したい時はどうすればいいのでしょうか?
つまり、入庫情報に入力されている商品で出庫情報にのっていないものと、出庫情報に入力されている商品で入庫情報にのっていないものがあるわけです。
在庫表では、それぞれのテーブルに存在するすべての製品名を載せ、型番が合致した場合は、入庫数量-出庫数量で在庫を出したいのです。
出庫情報にあって、入庫情報にないものというのは、つまり、在庫数がマイナスになるということです。
両方を同時に満たすには、どのようにすればいいのでしょうか?
質問の説明文が不足していたら指摘してください。
よろしくお願いします。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
s_husky です。
<入庫履歴>
ID 入庫日 製品名 数量
1 2006/10/01 A 2
2 2006/10/02 A 2
3 2006/10/03 B 2
<出庫履歴>
ID 出庫日 製品名 数量
1 2006/11/01 A 1
2 2006/11/02 A 1
3 2006/11/03 C 1
<在庫表>
製品名 数量
A 2
B 1
A -2
C -1
<入庫履歴>と<出庫履歴>から<在庫表>を生成するという手もあります。
Private Sub コマンド0_Click()
CnnExecute ("DELETE FROM 在庫表")
CnnExecute ("INSERT INTO 在庫表 " & _
SELECT 製品名, COUNT(数量) AS 数量 FROM 入庫履歴 GROUP BY 製品名")
CnnExecute ("INSERT INTO 在庫表 " & _
SELECT 製品名, COUNT(数量) * -1 AS 数量 FROM 出庫履歴 GROUP BY 製品名")
End Sub
なお、CnnExecute() は次のようです。
Public Function CnnExecute(ByVal strSQL As String) As Boolean
On Error GoTo Err_CnnExecute
Dim isOK As Boolean
Dim cnn As ADODB.Connection
isOK = True
Set cnn = CurrentProject.Connection
With cnn
.Errors.Clear
.BeginTrans
.Execute strSQL
.CommitTrans
End With
Exit_CnnExecute:
On Error Resume Next
cnn.Close
Set cnn = Nothing
CnnExecute = isOK
Exit Function
Err_CnnExecute:
isOK = False
If cnn.Errors.Count > 0 Then
ErrMessage cnn.Errors(0), strSQL
cnn.RollbackTrans
Else
MsgBox "プログラムエラーが発生しました。システム管理者に報告して下さい。(CnnExecute)", _
vbExclamation, " 関数エラーメッセージ"
End If
Resume Exit_CnnExecute
End Function
詳細な返答ありがとうございました。
少し時間がかかるかと思いますが、挑戦してみます。
再度、質問させていただく場合もありますが、その時はよろしくお願いします。m(_ _)m
No.4
- 回答日時:
No3でも書かれてるけど、UNIONクエリを使った方法を
select 製品名
from 出庫
UNION select 製品名
from 入庫;
で、とりあえずは、「ユニオン」って名前で今回は保存します。
そのクエリを元に、
SELECT ユニオン.製品名, 入庫.数量 AS 入庫数, 出庫.数量 AS 出庫数, nz([入庫数])-nz([出庫数]) AS 在庫
FROM (ユニオン LEFT JOIN 出庫 ON ユニオン.製品名 = 出庫.製品名) LEFT JOIN 入庫 ON ユニオン.製品名 = 入庫.製品名;
で、どうでしょう?
後、件数があるならば、テーブル作成クエリで、入庫テーブルから製品名と数量(入庫数)、そして出庫数(0にしとく)の作業テーブルを作成。
追加クエリで、入荷テーブルに無い在庫テーブルの製品名を追加、この時、入庫数は0にしとく。
更新クエリで、出庫数を更新・・・
ただ、繰り返しやってるとMDBがよく壊れるので、作業テーブルを外部のMDBにするのと、まめな修復・最適化が必要ですが・・・
返答ありがとうございました。
ユニオンクエリというのは、初挑戦ですが、ヘルプ等を参照しながら、挑戦してみたいと思います。
時間がかかるかもしれませんが、また再度、ご質問等させていただくかと思います。よろしくお願いします。
No.3
- 回答日時:
ご希望のような結合のことをフル外部結合と言います
ただしこれはAccessではサポートされていませんから
入庫から出庫へ外部結合したものと出庫から入庫へ外部結合したものを
ユニオンクエリで重複なしで、縦に結合します
詳細が分からないので雰囲気だけ
select ・・・・・・
from 入庫情報_テーブル left join 出庫情報_テーブル
union
select ・・・・・・
from 入庫情報_テーブル right join 出庫情報_テーブル
No.1
- 回答日時:
[製品一覧]
ID----------- 1
品名--------- A
前月期首----- 1
前月入庫----- 1
前月出庫----- 0
当月入庫----- 1
当月出庫----- 2
[入庫履歴]
入庫日------- 2006/11/11
製品_ID------ 1
数量--------- 1
[出庫履歴]
入庫日------- 2006/11/16
製品_ID------ 1
数量--------- 2
[各種設定]
現在庫締日--- 2006/10/31
というテーブル設計ですと話が簡単です。
[各種設定.現在庫締日]に基づいて[製品一覧.前月期首]等を更新すればいいからです。
さて、質問内容からすると、次の設計でも良い気もします。
[製品一覧]
ID----------- 1
品名--------- A
入庫総計----- 1
出庫出庫----- 2
であれば、単純に入出庫履歴を集計するだけです。
※質問の意図に反した回答であることは重々に承知しています。
※が、少なくとも、[製品一覧]、[入庫履歴]、[出庫履歴]という3テーブルをお勧めします。
※[各種設定]は、棚卸処理コードを書くことを意味しますのでウーンです。
早速のお返事ありがとうございました。
確かに、「製品マスタ」が存在すれば、一番楽なことは分かっているのですが、現状ではそれが不可能な業務状況でして・・・(^^;)
すみません。
テーブル設計が悪いのかもしれませんが、あくまで「入庫情報」と「出庫情報」のテーブルは分かれ、その2テーブルを比較して、同じ型番のものを足したり引いたりする・・・ということが必要になってきます。
お手数おかけしますが、良い方法はないでしょうか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- メルカリ メルカリShopsを作るとメルカリで販売は楽になりますか メルカリとまったく変わりませんか? 2 2022/10/11 19:22
- Excel(エクセル) Excelで在庫表(クエリ、ピボット) 2 2022/04/11 17:11
- マンガ・コミック 漫画を探しています。 ジュンク堂や紀伊国書店などネットで調べられる在庫はほとんど調べました。 それで 4 2023/01/06 23:04
- その他(Microsoft Office) Excelの関数(FILTER関数)について教えてください 2 2023/07/31 16:11
- 運輸業・郵便業 ●(令和なのですが…) 今時、 (倉庫会社の在庫の)倉庫管理システムが、 “紙”(商品依頼書•注文書 2 2022/08/07 18:09
- 冷蔵庫・炊飯器 冷蔵庫とそのためのコンセントの位置について 3 2022/04/04 14:28
- スーパー・コンビニ 一斉値上 スーパーの食料品 値上や単価の仕組みは? 4 2022/06/01 16:18
- その他(買い物・ショッピング) BOOKOFFの返品についての質問です。 BOOKOFFにて先日購入したPSPが改造されていました。 1 2022/04/10 20:39
このQ&Aを見た人はこんなQ&Aも見ています
-
【お題】NEW演歌
【大喜利】 若い人に向けたことは分かるけど、それはちょっと寄せ過ぎて変になってないか?と思った演歌の歌詞
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
2024年のうちにやっておきたいこと、ここで宣言しませんか?
2024年も残すところ50日を切りましたね。 ことしはどんな1年でしたか? 2024年のうちにやっておきたいこと、 よかったらここで宣言していってください!
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
Accessで在庫管理を
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで在庫管理をしたいです。
-
アクセス・入出庫管理
-
アクセスのクエリで引き算をし...
-
アクセスが・・・
-
Accessで在庫管理する時の在庫...
-
ACCESSで困っています。
-
ACCESSで在庫の入出庫履歴を作...
-
Access エラー 指定されたフィ...
-
日付型のフィールドに空白を入...
-
差込印刷での全角表示について...
-
SQL文で パラメータが少なすぎ...
-
Accessで、1つの項目に複数の...
-
アクセスのエラー「クエリには...
-
ACCESS クエリの抽出条件に他の...
-
Accessのテーブルのフィールド...
-
ACCESSユニオンクエリから新テ...
-
エクセルにおける「フィールド...
-
エクセルデータをワードで差し...
-
Excleピボットでデータのない部...
-
テキストボックスにクエリ結果...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで在庫管理する時の在庫...
-
アクセスのクエリで引き算をし...
-
Accessで“0”ゼロ表示をする
-
Access エラー 指定されたフィ...
-
アクセスが・・・
-
在庫数を表示させたい
-
ACCESSで困っています。
-
Accessのレポートで日々の在庫...
-
出庫と消費について
-
access クエリ 合計の出し方
-
Accessで、在庫管理システムを...
-
アクセスで在庫管理
-
ACCESSで在庫管理 備考欄の組...
-
Accessで在庫管理をしたいです。
-
Access:テーブルの情報を参照...
-
エクセルVBAとアクセスでの在庫...
-
ACCESSで在庫の入出庫履歴を作...
-
ACCESS2013 Switch関数で
-
Access2003 別のフォームから該...
-
エクセルで在庫管理表の作り方...
おすすめ情報