• ベストアンサー

ACCESSでこのようなDBは作れるでしょうか?

Aの倉庫に物が入ってA倉庫の在庫を+。 Aの倉庫からBの倉庫に物を移動する。 この時Aの倉庫在庫は-。    Bの倉庫在庫は+。 Bの倉庫から物を出してB倉庫の在庫を-。 この流れをアクセスで作りたいのです。 こういったDBは作れるでしょうか? 作るとしたらマクロを使用しないといけないと思うのですが、どういったマクロを使えばいいのでしょうか? 説明不足だと思いますが、宜しくお願いします

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

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

>こういったDBは作れるでしょうか? 問題なく出来ます。 >作るとしたらマクロを使用しないと・・ういったマクロを 処理自体はクエリで出来るので在庫に+-させる際にそのクエリを実行させるマクロで良いと思います。 >Aの倉庫に物が入ってA倉庫の在庫を+。 例えばフォームから倉庫への入庫のレコードを直接に入力しそのテーブルを集計して在庫とするのか。または入庫テーブルを作ってそのレコードを集計しA倉庫の在庫テーブルへ+するのかによって変わってくると思います。AからB倉庫への移動も同様です。 質問内容からすれば単純に考えた場合。 入出庫テーブル:商品?の入庫・出庫・移動をこのテーブルで管理。例えばフィールド:商品ID・日付・入出庫区分(入庫か出庫か移動かをコードで管理)・倉庫(AかBかの判断)・倉庫2(移動した場合の移動先倉庫) 在庫テーブル:在庫数をA倉庫とB倉庫を同じテーブルで管理。キーは商品ID+倉庫とする。フィールド:商品ID・在庫数・倉庫 商品テーブル(マスタ):商品ID・商品名 これで管理できると思います。 入出庫テーブルで1日の入庫・出庫・移動を一つのテーブルで管理する方が集計等が簡単。 例えば1日の入出庫移動を全て抽出し入出庫区分により一つのクエリで更新させる時に分岐処理する記述で在庫テーブルに+-出来る。(無理せず入庫と出庫と移動のクエリを作り順に実行させても良ですが) 在庫も同様に一つのテーブルで管理した方が在庫問い合わせ等の処理が簡単。 こんな感じで。在庫テーブルにクエリで+-するクエリを実行させるマクロを作れば良いのではないでしょうか。

noname#89246
質問者

お礼

回答ありがとうございます。 明日さっそくシュミレーションしてみます。 クエリを使いこなせれば出来るってことですね。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

質問者の足しにはならないかも知れないのですが、 普通ビジネスで管理する人・もの・金の全てについて 各主体・組織(質問例だと各倉庫)について (1)外部からの入り (2)外部への出 (3)内部の管理組織・主体間(倉庫間)の移動の入り (4)内部の管理組織・主体間の移動の出 を考えます。 これは経理の場合は金の支払い・入り・内部振り替えとして、考えていることです。 そして(3)と(4)は、勝手に相殺したりせずに、一旦は独立トランザクションとして考えて、管理(起票といったほうが判りやすい)します。 これを平面的にやるならトランザクションは、X、Yが納入販売先とし、Aを自社倉庫として(記号的に書くと) X1+ X1- Y1+ Y1- A1+ A2- のように起票を行い、起票をテーブルに書き込みをします。 そして、ある時期の当初在庫からA1・A2・・の倉庫単位の 在庫を+-の加算で計算し(瞬時とバッチの両方のやり方があるが 瞬時が主流)在庫を出します。 トランザクションを記録し、残高は計算という主義です。 こういった考えで、ものの流れの考えを組み立ててはどうですか。 こういった質問をするときは、トランザクション・データ入力画面をよく考えて、 どのテーブルに反映し、どういう結果を出したいかを示さないと ダメだと思う。そして質問自体は、全社的なものなら、プロが作るものです。チェックや障害対策やアウトプット帳票も必要でしょうし。 システムを他人が使うとなると、プログラムコーディングは数倍になります。 そんなのはOKWAVEで回答を求めるレベルではないと思う。 システムやプログラムは長期の経験・修練・勉強が必要であることや、東証事件ではないが、作る怖さを知らないように思えてならない。

noname#89246
質問者

お礼

回答ありがとうございます。 最終的には専門家にお任せする予定なのですが、こちらの要望として、まとめて行く段階でアクセスでは管理がムリではないかと言う意見が出たので質問させていただきました。 例にしたような質問しか出来なかったので、回答者様の意見もよくわかります。 詳しく回答いただいて本当にありがとうございます。

すると、全ての回答が全文表示されます。
回答No.1

こんばんは。 アバウトですので、参考程度に読み飛ばしてください。 倉庫、物、入出庫日、入庫数、出庫数のフィールドを持つテーブルがあるとします。 1.実際に入庫および出庫の都度、このテーブルにレコードを追加していきます。 2.倉庫間の移動でしたら、倉庫フィールドを更新します。 (注)商品台帳のように履歴が必要な場合は、1の入力をして下さい。 在庫数が必要になったらこのテーブルをクエリで倉庫・物別に集計し、 入庫合計から出庫合計をマイナスすれば在庫数を求めることが出来ます。 (ここまでの範囲ならVBAは必要ないと思います。) しかし、倉庫の管理は生産・受注・発注システムと連携するのでこんな単純ではないはずです。 要点を絞って再質問されるか、専門家(SE)に開発依頼されるのが良いと考えます。

noname#89246
質問者

お礼

回答ありがとうございます。 最終的には専門家にお願いする予定なのですが、会社の上司ができないんじゃないか・・・と言い出して・・・。 一応このDB作成の責任者になってしまったので不安になり質問させてもらいました。 やはり要点を絞ってSEにお願いするのが1番ですね。 できるとわかっただけで十分ですありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A