• ベストアンサー

在庫管理システムについて

お願いします。 アクセスで薬品の在庫管理システムを作っています。 毎日の仕入・払出を入力するトランザクションテーブルと、薬品在庫を保持・更新するマスターテーブルに分けて管理したいのですが、次のような流れを考えています。 1.開始棚卸数量を在庫テーブル(マスター)に入力。 2.日々の仕入・返品等を仕入テーブル(トランザクション)に入力。 3.日々の払出・調整等を払出テーブル(トランザクション)に入力。 4.仕入・払出の各テーブルを更新処理して在庫テーブルの数量を更新。 5.月末の実地棚卸数量により在庫テーブルを更新。棚卸差異を分析。 6.更新後の在庫数量を翌月開始数量とする。 日々の取引量は平均して200件くらいで、薬品の種類は500種類くらいです。 アクセスのDBはよく作っていますが、こういう形(トランザクション+マスタ)は初めて作るのであまり自信がありません。 まずは、テーブル構成やフローについてアドバイスをいただけませんか? それと、インターネットで参考になるページがあればご紹介お願いします。

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

最低限のテーブルとして *在庫テーブル *取引先テーブル(販売先等ある場合) *仕入先テーブル *入出庫テーブル(仕入・払出を同一テーブルで行う場合:仕入・返品・払出・調整は区分などを使い入出庫テーブルで済ませる。) が必要。 仕入・返品と払出・調整を別テーブルで管理するならば最低5つのテーブル。 でしょうか。 欲を言えばトランザクションで使うテーブルのバックアップテーブルと月次更新時の在庫数を年月数と共に保存する在庫バックアップテーブル。 *1ヶ月終わったらトランザクションで使うテーブルのレコードをバックアップに移し日々使用するトランザクションテーブルを軽くするため。在庫のバックアップは年月数と共に月次更新時にバックアップを取れば1薬品毎の年間推移等が簡単に把握できるレコードが出来るため。 できれば欲をだした構成にした方が後々楽だと思います。 在庫テーブルの更新は月次処理で充分。 デイリー:仕入・返品・払出・調整の発生に伴い入力する。 その際、仕入・返品・払出・調整が一つのテーブルで処理していれば同一フォームで区分等の変更により入力処理できる。(入力業務の簡易化) 日々の在庫数確認は在庫テーブルの数量とトランザクションのレコードを集計しリアルタイムに在庫数量を表示する。(トランザクションのテーブルを先の理由等で当月分処理だけのレコードにしておけば日付での抽出をしなくてすむため集計が少しでも早くなる。) 月次:トランザクションのテーブルを集計し在庫テーブルのレコードと合算し在庫テーブルの数量を更新する。更新後在庫テーブルのバックアップテーブルへ各レコードを月末の日付データと共に追加してバックアップを取り在庫テーブルは翌月開始数量となる。 こんな感じでしょうか。 #2の方が書いていますが下記にも回答してありますので参照してみてください。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=330335
jetstream
質問者

お礼

回答ありがとうございました。大変参考になりました。ACCESSを始めて1年くらいたちますが奥が深くてたいへん面白いです。また、質問させていただきますのでよろしくお願いします。

その他の回答 (2)

  • palmmy
  • ベストアンサー率38% (841/2170)
回答No.2

◎テーブル構成  ・薬品のマスタは持った方が良いかと思います。  ・2.3.は一つのテーブルでも良いかと思います。   履歴ファイル ◎検討のポイント  ・在庫管理する場所は?   置き場を細かく管理するか?  ・在庫を増減させる行為は?   仕入、返品、払出、調整、棚増減…  ・ロット管理するのか?  ・在庫を管理する単位は?   錠、g、l…  ・棚卸の方法   実務はどのようにやっているか? >インターネットで参考になるページがあればご紹介お願いします。  この辺の解説に関しては見たこと無いです。  多分、これで商売をしている人がいるからだと思い  ます。 ■在庫管理を行うのはAccess? http://oshiete1.goo.ne.jp/kotaeru.php3?q=1226269 ■Accsessで在庫管理方法を教えてください。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=767409 ■accessで在庫管理 http://oshiete1.goo.ne.jp/kotaeru.php3?q=706837 ■Accessで在庫管理を http://oshiete1.goo.ne.jp/kotaeru.php3?q=330335 ■アクセスで在庫管理 http://oshiete1.goo.ne.jp/kotaeru.php3?q=100235 ここだけでもACCESS 在庫管理でいろいろ引っかかり ますよ。 ベクターでフリーソフトを探して、解析するのも 参考になるかと思います。

jetstream
質問者

お礼

回答いただきありがとうございます。ロット管理までは考えていませんが、在庫場所の管理はたしかに必要ですね!単位もさまざまですので工夫した方がいいと思います。また質問させていただきますのでよろしくお願い致します。

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

全体の流れとしてはそんな感じでしょう。 ただ、1件ごとのリアルタイム処理なのか1日毎なのか、 はたまた(そんなことはないと思いますが)月末処理なのか良くわかりません。 それによって訂正処理などが大きく違ってきます。 出すべき帳票によってもDB構造が変わります。 6を見ると月末処理の臭いもします。 棚卸や在庫修正は月末に限らずいつでも出来るようにしておいて、 運用で月末に使うというのが良いかと。

jetstream
質問者

お礼

回答いただきありがとうございました。なるほど、まず出すべき帳票を検討した方がよろしいですね。またよろしくお願い致します。

関連するQ&A

  • Accessにてテーブルが異なるデータの引き算

    Access に異なるテーブルに収められているデータの「引き算」ほ方法をお教えください。 只今作成しているシステムは、簡単な在庫管理システムです。 今後、拡張していくこともあり得るという前提で各テーブルを作成しました。 作成したテーブルは以下のとおりです。 仕入先テーブル「仕入先ID・仕入先名・フリガナ・〒・住所1・住所2・TEL・FAX」 材料テーブル「材料ID・材料名」(単価はその時々で変わってくるのであえてここでは設定していません) 仕入テーブル「仕入ID・日付・仕入先ID・材料ID・仕入数量・単価」 払出テーブル「払出ID・日付・材料ID・払出数量」 在庫確認クエリにて以下の設定を行いました。 材料テーブルより「材料ID・材料名」 仕入テーブルより「仕入数量」 払出テーブルより「払出数量」 を設定し演算にて「在庫: Sum(Nz([仕入数量],0)-Nz([払出数量],0))」を入力しました。 データシートビューにて確認したところ、お互い発生した回数分だけ足されてしまい正確な在庫数量が表示されません。 例 ==================== 9/1 仕入数量 100 9/2 払出数量 50 9/3 仕入数量 100 9/4 払出数量 50 9/5 仕入数量 100 ==================== とした場合に、仕入数量600 払出数量300 となってしまいます。 以下は「SQLレビュー」の内容です。 SELECT 材料.材料ID, 材料.材料名, Sum(仕入.仕入数量) AS 仕入数量の合計, Sum(払出.払出数量) AS 払出数量の合計, Sum(Nz([仕入数量],0)-Nz([払出数量],0)) AS 在庫 FROM (材料 INNER JOIN 仕入 ON 材料.材料ID = 仕入.材料ID) INNER JOIN 払出 ON 材料.材料ID = 払出.材料ID GROUP BY 材料.材料ID, 材料.材料名; 解決方法をご享受くださいますようよろしくお願いいたします。

  • accessで在庫管理

    こんにちは。 accessで商品(部品)の在庫管理をすることになりました。 1)商品情報(型番・部品名・仕入元など)の基本情報の入ったテーブルを作り 2)型番をキーにして出荷入荷の記録をつけ(仕入日・出荷日・数量・出荷先など)て行きたいとおもっています。 今在庫がいくつあるのか確認しつつ入力したい関係で、例えば型番を抽出条件にすると今までのレコードが一覧で見れて、(上部に部品に関する1)の情報が見れて)一番下に新しいレコードして追加入力をすることができるような形にしたいのですが、 どのようなテーブル形式、リレーションシップをとったらよろしいでしょうか? 参考になる本が見当たらず困っています。 よろしくお願いします。

  • 在庫管理の仕組みで質問

    例えば商品テーブルに商品IDと商品名と在庫数、仕入販売テーブルには商品ID、仕入数、販売数、返品数のテーブルを作り、商品テーブルを親フォームに、仕入販売テーブルをサブフォームにしてフォームを作成したとします。 そこで商品を登録する際に、商品名を入力して、サブフォームに仕入数を50と入力したときに、在庫数も自動的に50になる方法が知りたいのですが、 どうすればいいかわかりません・・・。 ちょうどAccess2000のサンプル在庫管理がそういう仕組みではありますが、商品テーブルに在庫数フィールドがなく、どうなっているかわかりません・・・。 どうか教えていただけますようお願い致します!

  • ACCESSで在庫管理

    ACCESS初心者です。 ACCESSで在庫管理をしようと思っています。 対象となる物品には複数のフィールドを持たせています。 (受領日・品名など、または返却日・品名など。) 簡単のため、品名ごとの数量は固定(仮に1固定)とします。 受領テーブルと返却テーブルを作り、[受領テーブル]のレコードから[返却テーブル]のレコードを引けば[在庫テーブル]ができるのではないかと、ACCESSの機能をよく知らないままイメージしています。 具体的な方法をご存知の方いらっしゃいましたらご教授願いたくお願い致します。 VersionはAccess2003でやりたいのですが、Access2010でもいいです。 宜しくお願いします。

  • データベースで在庫管理したい。

    データーベースの質問です。 現在アクセス2000を使って、商品の簡単な在庫表を作りたいと思っています。 最終的な表示形式では、商品種類・商品名・在庫数・単価・合計金額・在庫場所 を表示できるように作成したいと考えているのです、アクセスから離れてかなり時間がたっているため、かなり序盤からつまずいております(笑) 現時点では「商品種類テーブル」「商品名テーブル」「在庫場所テーブル」を作っておりまして、今クエリの場所に「在庫*数量」を表示させたいのですが、どうやって作れば良いのかわかりません。 また、全体的な考え方もこれでいいものかどうか・・・。 どなたかアクセスで在庫管理なんかをしている方がいらっしゃいましたら、ノウハウを教えていただけると光栄です。 宜しくお願いします。

  • FileMakerで在庫管理をしたい!

    FileMakerで在庫管理をしたい! 現在在庫管理をエクセルでやっていますが、 これからはファイルメーカーで管理したいと思いいろいろ試みています。 そこで、 商品テーブルと在庫テーブルと移動テーブルをつくりました。 ■商品テーブル 商品ID 商品名 ■在庫テーブル 在庫ID 商品ID 保管場所 棚卸在庫数 現在庫数(Calculation) 入庫日 ■移動テーブル 移動ID 在庫ID 移動数 移動先保管場所 移動日 商品テーブルと在庫テーブルは商品IDでリレーション 在庫テーブルと移動テーブルは在庫IDでリレーション 在庫の出し入れ移動が激しいので、移動入力を簡単にできたらと思います。 入庫入力は在庫テーブルに新規レコードで入力 出庫入力は移動先保管場所を"出庫"というふうにしてやろうかと考えています。 問題点 ・移動を入力する際に、保管場所と商品名で目的の在庫を絞り込みたいのですが、うまくポータルに表示されません。リレーションの組み方が間違ってる?? ・現存の在庫を他の保管場所に移動するとき、 移動先保管場所を入力すると自動的に在庫テーブルに新規レコードとして在庫が移動されるようにしたいがやりかたがわからない。 本をみても目的の情報にたどりつけないので、こちらの掲示板がたよりです。 助けてください!!

  • アクセスで在庫管理

    Access初心者ですが、在庫管理をアクセスでしたいと思います。Windowsでアクセス2003です。管理する商品の種類はそれほど沢山ないのですがサイズと色が沢山あります。商品マスターテーブルはこのようなテーブルです。サイズマスター、色マスターも 別途作りました。 商品ID 商品名 サイズ 色 ・・・・ 1   ABC   60A White 2 ABC 60A Black 3 ABC 70A WHite 4 ABC 70A Black ・ ・ このABCの商品以外にも他に7種類くらいの商品があり、それぞれに同じサイズ・色展開をしています。 ひとつのテーブルに全部まとめて7種類とも入れてしまえばよいのですが、他のサイズの在庫が増えた場合に追加しなくてはいけなく、一番下から追加して、テーブルを見たときにあまり綺麗ではありません。そこで商品マスターを7種類作って、新しいサイズ・色が加わった場合に各々の商品マスターに加えたいのです。この考え方は間違っていますか? さらに質問なのですが、レポートで出したい情報は「サイズ60Aは今いくつ在庫があるか?」です。7種類のテーブルからサイズ順に在庫がわかるようなレポートを出したいのですが、一つのテーブルからならやり方はわかるのですが、複数のテーブルからだとわかりません。 すみませんが、教えてください。自分でウェブ上のトレーニングなどを試みましたがギブアップです。宜しくお願い申し上げます。

  • エクセルでの在庫管理について教えて下さい。

    エクセルでの在庫管理について教えて下さい。 これまで全て手書きで管理していたものをエクセルで行いたいのです。 が、全くのエクセル初心者です。 シート内容として、月日・入荷数・使用数・在庫数です。 入荷数に数量を入力すると在庫数に数量を追加し、使用数に数量を入力すると在庫数から数量を差し引く形にしたいのです。 宜しくお願いします。

  • 在庫管理

    こんばんは 派遣、1ヶ月、仕事内容在庫管理 今晩は、私は最近派遣された会社で在庫管理をしています。 在庫管理と言っても個数ではなく何MとM単位です。 商社で販売関係の受発注は、すべて下請けがしています。 輸入した物を販売していて仕入れたM数と現物が異なることから 管理に困ってます。今までは、特に管理していなかったみたいです。 完納してもまだ在庫が残ってると下請けが一応差額分を、払ってくれるとかで。。。良くまだ販売ルートやコミションの仕組みがつかめなく、、、微妙な感じです。。。最近社員の人と飲んで不満をぶちまけてしまい。。。今はとてもいずらです。。。 会社としては、月末に棚卸しをして都度現物のM数に合わせたいみたいですが倉庫も別だし下請けが加工やら売りやら輸入なども管理していて まだ、仕入されてないのに売上伝票が着たりと訳が分かりません。 私は、英語が全くの苦手で輸入には海外の納品書みたいなのも見つけなければならないので派遣先の仕事紹介内容と異なるところがあるので これから不安です。今、ここで契約更新しなければこの前の飲み会の事を言われだから辞めたんだと思われるのも悔しいです。 基本的に仕入M数と売上Mが一致すれば問題は、無いのですが昔の入力担当がいい加減だったのか分かりませんが違う商品コードを入力したりと、ここ一ヶ月で何個も見つかりました。 今まで私が経験した会社では工場と営業で同じ書類で入力したり必ず チェック機能がしっかりしていたので商品コードを間違えて入力していて月末在庫が合わないなど論外でした。その事を、言ったとしても まだ働いてる人もいてなかなか原因を追求しづらいです。 勤務地は、家からも近くて会社もきれいなオフィスでジーパンOKなので環境抜群なのでこのまま辞めたくないです。 何かいいアドバイスをよろしくお願いします!!

  • ACCESS テーブル間のデータリンク

    こんにちは。 ほぼアクセス初心者です。 大学の頃に習った記憶といくつか購入した本を頼りに、実家の会社の仕入や在庫の管理データベースを作ろうとしています。 とりあえず商品データや仕入先データをテーブルにまとめました。 次にしたいのが年度末の棚卸の数量を入力しておくテーブルの作成です。 そこで先に作った商品データを元に棚卸入力用のテーブルを作ろうとしているのですが、テーブルのコピーくらいしかわかりません。 商品の種類が約1000種類前後あるんですが、先に作ったデータが完全なものではないこともあり、テーブルのコピーをした後にデータの入れ忘れや入れ間違いの訂正をする必要もあると思います。 そこで商品データで更新した情報を棚卸入力用のほうでも自動で更新するようにしたいのですが、何かいい方法があるのでしょうか? 過去の質問も探してみたのですが、専門用語はイマイチわかりませんでした。 ちなみに商品データと棚卸入力用のテーブルは次のようなフィールドで構成しています。 商品データ ・種別名 ・メーカー名 ・個別ナンバー(種別ごとに1~999を割り当ててます) ・商品名 ・備考 棚卸入力用 ・商品名 ・備考 ・事務所在庫数 ・車A在庫数 ・車B在庫数 どなたか宜しくお願いします。