![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
在庫管理をaccessで行おうとしています。
在庫数の出し方が分かりません。
=DLookUp("[在庫数]","[T_発注]","助成物コード='" & [Forms]![F_受注]![助成物コード] & "'")-nz([数量])
とすると、それらしい数は表示されるのですが、次のレコードで同じ商品(助成物コード)を指定すると、前のレコードの在庫と同じ数になってしまいます。
=DLookUp("[在庫数]","[T_発注]","助成物コード='" & [Forms]![F_受注]![助成物コード] & "'")-nz([数量])
した結果を次の『=DLookUp("[在庫数]"』の在庫数に引き継いでもらいたいのですが、どうすれば良いか分かりません。
上記で『助成物コード』が商品コードで、
『数量』が受注数です。
他にどんな情報があれば良いか分かりませんので、不足している情報があればご指摘下さい。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
Q、Accessで在庫管理する時の在庫数の出し方?
A、[現在庫数]は、通常は入出庫履歴から計算します。
そこで、現行のアイデアの問題点を少し検討してみます。
検討1、入出庫の都度に[現在庫数]を表示する意義とは?
[現在庫数]が20と仮定します。
1行目で1の出庫が確定・・・・20-1=19 ---> [現在庫数]を19に更新。
2行目で2の出庫が確定・・・・19-2=17 ---> [現在庫数]を17に更新。
1行目が入力ミスだったと気付いて訂正!
1行目を2の出庫に訂正・・・・17-1=16 ---> [現在庫数]を16に更新。
この時、入力フォームに表示される [現在庫数]は1行目が16に、2行目が19になります。
仮に入力ミスが発生しなかった場合には、1行目が18に、2行目が16になります。
こうして、入力フォームに表示される [現在庫数]はどれが最終かが判らなくなります。
つまり、入出庫の都度に[現在庫数]を表示する意義があるのか否か?
それが、一つ目の問題です。
検討2、[現在庫数]の更新ミスをどのようにカバーするのか?
入出庫の都度に[現在庫数]を計算しているのだから、一度、ミスが発生すればそれまで。
誤まった[現在庫数]は、それ以降の全ての入出庫に反映します。
検討3、実際に要求される月次棚卸表とは?
[商品名][月初在庫数][当月仕入数][当月出庫数][当月調節数][月末在庫数]
[AAA][___10][____1][____0][___-1][___10]
[BBB][____2][____1][____1][____0][____2]
[CCC][____0][____1][____1][____0][____0]
在庫管理するとなれば、当然に月次棚卸表も作成することになろうかと思います。
問題は、入出庫の都度に[現在庫数]を更新する仕組みでは、この月次棚卸表の作成が困難。
Q、Accessで在庫管理する時の在庫数の出し方?
A、[現在庫数]は、通常は入出庫履歴から計算します。
1、出庫伝票の商品入力欄で<0>と入力する。
2、<0>入力で商品検索フォームを開く。
3、商品の綴り等を入力。
4、該当する商品リスト一覧を表示。
5、商品リストからの該当する商品を選択。
6、商品の動態情報を表示。
7、現在庫を確認し[OK]を押す。
8、出庫伝票の商品入力欄に該当する商品が入力される。
通常、各商品毎の現在庫は、商品コードの入力時に表示し確認します。(6)
この場合、VBAで[月初在庫数]以後の動態を計算して表示します。
一日2000行程度の入出庫履歴ですと0.1秒以内に計算できる筈。
出庫伝票の各行には、検討1の問題があるので表示しません。
各商品の現在庫を確認したいというユーザーの要求には1~7を独立させればOK。
[現在庫の確認]というアイコンを出庫入力フォームの下部にでも配置していればOK。
これで、[現在庫数]の更新ミスとは無縁の仕組みができます。
これで、月次棚卸表を作成する計算モジュールも完成です。
PS、質問されている件そのものは、更新クエリーを各行で走らせれば解決します。
この回答への補足
丁寧な回答ありがとうございます!
root_16さんの所にも書きましたが、更新クエリに手こずっているレベルなので、どうしてこんなに詳しい回答が書けるのかビックリです。
検討1~3で困難になる事は分かりました。
>一日2000行程度の入出庫履歴ですと0.1秒以内に計算できる筈。
1日に20~30件なので、これは問題ないですね。
「月次棚卸表」は必要だと言われてないので頭にありませんでした。
ご指摘ありがとうございます。
月次棚卸表も含めて、もう一度検討させて頂きます。
ありがとうございました。
No.3
- 回答日時:
>次のレコードで同じ商品
データは商品コードで特定されるのです。
助成物コードが同じなら「次のレコード」
ではありません。次には「次」の助成物
コードがあるはずです。この辺りの感覚は
DB慣れしていないと間違うかも知れません。
もし、レコードを特定するために助成物
コード以外のもの(例えば日付)などが
あるなら、それを提示してください。
この回答への補足
回答ありがとうございます!
まぎらわしい表現をしてしまって申し訳ありません。
「助成物コード」と言うのは商品の種類を表しているコードで、種類が同じなら同じコードになります。
レコードを特定するにはオートナンバーで「ID」と言うのを作っています。
日付もあるのですが、同じ日に同じ「助成物コード」の品が登場することもあるので、使えないですよね?
No.2
- 回答日時:
最初の数量をA
それ以降の日付の納品(入荷)数をB
納品数の累計をΣB
出荷数をC
出荷数の累計をΣC
累計は別途クエリを作成
さて、今日の在庫数は
A+ΣB-ΣC
要するに毎回累計を計算して在庫数を計算して出す
(応用すれば、ある特定の日付けの在庫数も計算できる)
レコード移動の時に再クエリ(Requery)すれば
いいと思います。
この回答への補足
回答ありがとうございます!
>レコード移動の時に再クエリ(Requery)すれば
>いいと思います。
済みません、初心者で更新クエリを使ったことがありませんでした。
チャレンジしているのですが、うまく動かない状況です。
もう少し格闘してみます。
No.1
- 回答日時:
テーブル構造など定義にかかわることと、
抽出条件などを書いていただけると良いと思います。
どのようにデータをどういうテーブルに入れているのか、
を推測して書くのはつらいものがあります。
あと、Dlookupを使いたがっているということは、
excelの感覚で、accessを使っておられるのではないかと
推測しますが、テーブルの作り方自体(データのいれかた)を
考え直したほうが良い場合もありますので、、、
この回答への補足
回答ありがとうございます!
テーブルは下記のような感じになります(一部省略しています)。
T_助成物マスタ
ID
助成物コード
品名
在庫数
T_発注
ID
注文番号
出荷先
助成物コード
数量
助成物コードは、ユニーク値ではなくて、品名のような感じです。
"Excelの感覚で"と言うのは耳が痛いです(^^;
なんか、バレバレですね。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) VBAでのループ順序について 3 2023/03/13 10:55
- 運輸業・郵便業 ●(令和なのですが…) 今時、 (倉庫会社の在庫の)倉庫管理システムが、 “紙”(商品依頼書•注文書 2 2022/08/07 18:09
- その他(ビジネススキル・経営ノウハウ) 在庫管理のこの問題が分かりません。どなたか解説お願いします 2 2022/04/18 18:35
- 数学 在庫管理のこの問題が分かりません。どなたか解説お願いします 4 2022/04/18 22:19
- 数学 在庫管理のこの問題が分かりません。どなたか解説お願いします 2 2022/04/18 22:21
- Visual Basic(VBA) VBA リスト表示していますが 3 2023/05/18 12:12
- 経営情報システム 在庫管理のこの問題が分かりません。どなたか解説お願いします。 0 2022/04/18 16:02
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
Accessで在庫管理を
その他(データベース)
-
ACCESSで在庫の入出庫履歴を作成したい
Word(ワード)
-
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
-
4
アクセスで『0の値以外』を表示する方法
Access(アクセス)
-
5
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
6
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
7
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
8
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
9
アクセスが・・・
Access(アクセス)
-
10
アクセスで月単位の抽出
Access(アクセス)
-
11
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
12
ACCESSで困っています。
Access(アクセス)
-
13
Accessのレポートで日々の在庫数を求めるには?
Access(アクセス)
-
14
Accessにてテーブルが異なるデータの引き算
Access(アクセス)
-
15
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
16
ACCESS2013でバーコードリーダーを用いた在庫管理システムの制作
Access(アクセス)
-
17
Accessで在庫管理をしたいです。
Access(アクセス)
-
18
ACCESS クエリの抽出条件に他のテーブルの値を参照する方法
Access(アクセス)
-
19
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
20
ACCESSでテーブルにあるチェックボックスを一括でYesにする方法を教えてください
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
楽天証券→SBI証券へ投資信託は...
-
ACCESSで困っています。
-
Accessで“0”ゼロ表示をする
-
ACCESSで在庫の入出庫履歴を作...
-
ACCESSで在庫管理 備考欄の組...
-
ACCESSで在庫管理を作成するよ...
-
Accessで、在庫表を作りたいの...
-
アクセスが・・・
-
アクセスで在庫管理
-
アクセスのクエリで引き算をし...
-
兵庫県明石にある明石海峡大橋...
-
エクセルでの在庫管理表について。
-
アクセス・入出庫管理
-
Access エラー 指定されたフィ...
-
日付型のフィールドに空白を入...
-
差込印刷での全角表示について...
-
SQL文で パラメータが少なすぎ...
-
アクセスのエラー「クエリには...
-
最新日のデータのみ抽出するク...
-
アクセスで追加した項目に全て...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで“0”ゼロ表示をする
-
アクセスのクエリで引き算をし...
-
Accessで在庫管理する時の在庫...
-
在庫管理と賞味期限管理
-
Access エラー 指定されたフィ...
-
ACCESSで在庫の入出庫履歴を作...
-
Accessで、在庫表を作りたいの...
-
ACCESSで在庫管理 備考欄の組...
-
Accessのレポートで日々の在庫...
-
ACCESSで在庫管理を作成するよ...
-
出庫と消費について
-
ACCESSで困っています。
-
アクセスが・・・
-
Accessで在庫管理をしたいです。
-
ACCESSで在庫管理がした...
-
コインパーキングについて
-
ACCESS フォームのレコードを...
-
エクセルVBAとアクセスでの在庫...
-
アクセスでの在庫管理(在庫期...
-
新宿ミライナタワー駐車場
おすすめ情報