dポイントプレゼントキャンペーン実施中!

おはようございます。
お世話になります。

エクセルVBとアクセスでの在庫管理をしたと考えています。
この質問では仕様の詳細ではなく、もっと手前の段階の疑問を
ご教示いただきたいと思っています。

●背景
日々手作業での在庫の管理に限界を感じ、商品が売れるたびに
簡単に在庫消込を行いたいと考えているが、ネットショップには登録していない
商品も在庫管理する必要があり、ネットショップへの登録は手間が大きいし
利点がすくないので選ぶつもりがありません。
そこで、本日から一気に全在庫を数えていくつもりですが、それで固まった在庫数を
今後は売れるたびにエクセル&アクセスで管理したいと考えています。

●目的
Office2010のエクセルとアクセスを使って在庫を管理する。
実際の在庫自体はアクセスに入れておき、エクセルはコマンドボタンなどがあるので
あくまで各スタッフのユーザビリティ向上のために(簡単に行えるように)用意する。
※アクセスは日々ネットショップの商品管理に使っているのである程度の操作は
できますが、在庫消込用のVB画面のようなものを用意できるのかなどは不明な状態です。
◎質問したいこと
1.エクセルとアクセスで連動して管理することは可能ですか?
2.世の中には在庫管理用のソフトがあると思います。費用削減のために自前で
  今回のように作りたいなと思っていますが、どう思われますか?
  例)データ紛失の恐れがあるので危険やめたほうがよい
  例)非常に安価またはフリーソフトの在庫管理システムがある
  例)上記ソフトで実現するのは非常に負荷が高い
  などなど…

この質問では詳しいことは述べませんし、おおまかに実現したい機能は以下です。

商品番号、カラー、サイズを打ち込める画面的なものをエクセルに用意する。
そこにデータを打ち込むと、対象候補のレコードを検索して結果を表示する。
その中から対象のレコードを選択して、更新したい在庫数に変更する。
更新ボタンを押すとアクセス側にレコード更新に向かい、処理を完了する。

です。
プログラム経験はVB・SQLはありますが、VBAはありません。
なのでエクセル&アクセスでこの機能を実現するのがどれくらい大変かまたは簡単か
わかっていません。
この質問で「大して大変な機能ではないので作って管理してもいいんじゃない?」という回答を頂けるようなら、その機能の実装についても
別の質問を用意してアドバイス頂きたいと考えています。
アドバイス頂いた中でわからない部分についてはググったり試行錯誤したりはする覚悟がありますが、本を用意して新しい概念や知識を入れないと作れないような場合は
そこまでする時間がないので諦めようと思っています。

以上を踏まえて、ご教示いただければと思います。
(以上といっても私の知識がどの程度なのかわかりづらいと思うので
アドバイスしづらいかもしれませんが、上記の説明内容でおおまかにどれくらい
わかっていないのかは伝わったら幸いと思っています。)

よろしくお願いいたします。

A 回答 (8件)

回答者の一人ですが、ソフトライブラリーからダウンロードできなかったということなので、アクセスで在庫管理のプログラムを作ってみようと思います。

方針は次のものでよろしいでしょうか
1.テーブルのフィールドとしては5つ、商品番号、カラー、サイズ、在庫数、備考
2テーブルの入力は、フォームは作らず、当面テーブルに直接入力とする
3検索用フォームとクエリーをつくる。カラーとサイズを条件にして該当するレコードを抽出
4在庫数を更新するためのクエリーを作る
なお私のパソコンはOSはXP、アクセスは97です。
ほかにご希望の機能はございませんか
    • good
    • 0
この回答へのお礼

おはようございます。

追加でのご回答、そしてそれ以上にプログラム作成して頂けるということで本当にありがとうございます。夢のような展開で感激しております。

質問の内容として変わりましたので、こちらに新たな質問として用意させて頂きました。ぜひご確認いただけたらと思います。
http://okwave.jp/qa/q8359610.html

よろしくお願いいたします。

お礼日時:2013/11/24 09:43

テーブルはデザインビューでの丁寧に定義すると後の作業の効率が上がります



テーブルのデザインビューでは色々な定義項目があります。
ここで定義内容はフォーム、レポートに反映されます。
各項目の設定がどの様なものであるかよく確認してください。
その中で後のトラブルを回避するための機能
・規定値:数値項目には0を規定値とする
 集計が必要な項目に一つでも空白があると集計出来ない
・インデックス:重複を許すか否かを設定する

ルックアップ
添付はカラーIDを選んで、ルックアップタグをクリックしたものです

表示コントロール;最初テキストボックス
右端クリックしてコンボボックスに変更します
値集合タイプ;そのまま
値集合ソース:右端クリックからカラーテーブルを選ぶ
連結列:カラーIDに対応するカラーテーブルの一番目の項目でID
列数:カラーテーブルのIDと色の2つ
列幅:0 表示列幅を列数だけ決めていく、0とは非表示
リスト行数:プルダウン行数 EXCELの入力規則は8ですが画面の許す限り
これにより、テーブル内は長整数なのに表示は文字列

この回答への補足

おはようございます。

夜遅い時間にまで、ありがとうございます。

添付ファイルがどこで確認するのか見つけられていません。
すみません。

アクセスは空白のレコードを含んでしまうと集計ができないんですね、了解しました。

ルックアップは条件を選べば該当レコード群を表示できるわけですね、その時に表示する結果テーブルのレイアウトの細かな指定ができるということですね、さらにカラーはコードテーブルを用意すればマスターテーブル側では数値を持つだけでよい、という感じでしょうか。

どうもご回答のまわりを見回しても添付を示すモノがみあたらなくて。

補足日時:2013/11/26 10:44
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2013/11/29 09:44

今晩は



Q.エクセルとアクセスで連動して管理することは可能ですか?
A.アクセスだけのシステムが良い

Q.世の中には在庫管理用のソフトがあると思います。
A.自前が一番

Q.商品番号、カラー、サイズを打ち込める画面的なものをエクセルに用意する。
A.商品テーブル、カラーテーブル、サイズテーブルを作成
  この3項目で在庫レベルの商品が決定するのですね
  テーブルにはルックアップ(コンボボックス)機能がある

Q.更新したい在庫数に変更する。
  更新ボタンを押すとアクセス側にレコード更新に向かい、処理を完了する。
A.在庫数の更新は入出庫の都度すると、履歴の管理が複雑になる。
  在庫テーブルで管理するのがよいでしょう、
  そのため入庫テーブル、出庫テーブルを用意し、任意の在庫数は
  入庫テーブルの初期在庫数+入庫テーブルの合計数ー入庫テーブルの合計
  また入出庫の件数が多ければ、在庫テーブルに日付の日付を定義し年単位、月単位で
  在庫の更新をする

Q.プログラム経験はVB・SQLはありますが、VBAはありません。
A.大丈夫です。自信を持って下さい。
  アクセスのVBAはテーブルのフィールドとテキストボックスとの関連付け
  非常に簡単です。
  SQLはDelet,Insert,UpdateとSelectの4つです。
  DOCMD RUNSQL ("SQL文")で実現できます。

Q.本を用意して新しい概念や知識を入れないと作れないような場合は
A.分厚い本を読破するのは大変です。これが第一歩と考えないでください。
  次のURLを字引代わりに使っています。
  http://www.geocities.jp/cbc_vbnet/kisuhen/docmd. …
    • good
    • 1
この回答へのお礼

こんばんは。

明示的な質問のみならず、説明文章内の各行にもコメント・ご回答をいただき、ご親切にありがとうございます。
(さらに励ましまで・・・)

そうですね、読破するのではなく、必要な命令を調べて実装するくらいであれば、トライしようという気持ちはあります。
参考になるサイトをご教示くださりありがとうございます。

>Q.更新したい在庫数に変更する。
  更新ボタンを押すとアクセス側にレコード更新に向かい、処理を完了する。
A.在庫数の更新は入出庫の都度すると、履歴の管理が複雑になる。
  在庫テーブルで管理するのがよいでしょう、

の部分だけちょっとすぐに頭に入ってこなかったので、あとでもう一度読み直してみます。

テーブルのルックアップ機能の件ですが、私だけがWEB系、アクセス系の作業も可能で、残りのスタッフはそのあたりの作業やソフトに苦手意識があります。ですので、そういうスタッフたちがとっつく安いような簡易画面が用意できたらと思ったのです。

アクセス VBA の&検索でググってみて、そんな簡易画面が用意できるのか、などもちょっと調べてみたいと思います。

お礼日時:2013/11/25 20:59

OKWAVEに登録ができませんのでこちらでお答えします。



>最初に設定したフィールドを今後増やす場合にプログラムに修正の必要が発生するかどうか私の知識ではわかりません。
----フィールドは必要に応じて増やすことができますのではじめは最小限で行きましょう
>※1※カラーに関しては、色違いのものがある場合にはセットされていますが、色違いがない場合はセットされていません。カラーを何かセットしないとならない仕様や、カラーが入っていないレコードは抽出されない仕様ではない方がありがたいです。
---クエリーを使えば自由に指定できます

>※2※商品番号をあいまい検索にすることは可能でしょうか。たとえば「99999shirt」と登録されているものもあれば「9999」だけで特に服の型が入っていないものもあります。手元に「99999」の服があったときに、その在庫を確認するときに「99999」とうてば結果が確認できるとよいですが、「99999shirt」とうたないと検索されないと不都合があります。
----商品番号を二つのフィールドに分けたらどうでしょうか。そうすれば一方だけを指定して検索することが容易にできます。
>※3※検索結果は条件にあてはまるものすべてを表示したいです。理由はほぼ同じ番号で登録されているものがあるからです。たとえば「999onepiece」「999_onepiece」などです。このとき、「999_onepiece」を確認したく、「999」と打ち込んで検索したときに「999onepiece」を先に見つけたので検索を終了するような仕様だと結果が得られません。
----可能です
>※4※抽出レコードの表示フィールドは指定できますでしょうか。「商品番号、カラー、サイズ、在庫数、備考」が表示される、が標準で、目的によりたとえば「商品番号、カラー、サイズ、在庫数、備考1、備考2、備考3、備考4」まで選べるということです。
---できます。
この程度のシンプルなものを作ってみて、あなたのパソコンに移せるか試させてください。


    • good
    • 0
この回答へのお礼

ありがとうございます。

お渡し頂いたらすぐに確認させていただき、結果をご連絡させていただきます。

お礼日時:2013/11/24 23:38

>二つのソフトを使うより一つのソフトで完結した方が不具合も少ないでしょうし、


  実装も簡単ですよね。
実装面では当然そうですね。

>csvファイルを取り込んで、それをエクセルにコピーして、エクセルで修正、修正内容を
  アクセスにコピーして、最後にcsvにエクスポート
ただ、業務の運用面も考慮して、両者を十分に検討すべきでしょう。現状の手順で
すでにエクセルを使用しているのであれば、ワンストップで処理できるようにエクセル&
アクセス連携の方がベターと思いますよ。

この回答への補足

あ、現在考えている最低限の機能は、
質問内容で説明している通りの
「一度しっかり数えた在庫を日々システマティックに在庫消込していける(システムがわからないスタッフでも簡単に扱える)」
です。

>アクセスはcsvファイルを取り込んで、それをエクセルにコピー>して、エクセルで修正、修正内容をアクセスにコピーして、最後>にcsvにエクスポート。しか基本操作をしていません。

↑これは私がどれくらいアクセスに馴染みがあるかの具体例で、つまりほとんど表面も表面、超限定機能しか使っていないことを示したのでした。

実装面の課題をクリアできるのであれば、

>エクセルへの橋渡しがそんなに大事でないなら、私も、私以外の>スタッフもエクセルの方が馴染みやすいので、エクセル側に画面>を用意したいと考えています。

の通りの方針で行きたいと思っています。


本当は、日々システマティックに在庫消込を行っていきつつ
複数あるネットショップそれぞれに取り込めるレイアウトのcsvファイルを吐き出すことができれば、ネットショップ側の在庫管理も連動させることができて一番よいです。
ですが、今はまだそこまで仕様についてあれこれご相談するタイミングではないと思って、伏せていました。

補足日時:2013/11/21 17:49
    • good
    • 0
この回答へのお礼

二度にわたりご親切にご回答下さってどうもありがとうございます!

現在はまだ在庫の数え中ですが、引き続き空いた時間を利用して、ご案内くださったリンク先を読んでいこうと思います。

お礼日時:2013/11/21 17:50

ExcelとACCESSのリンクはできます。


ちょっと勘違いされているみたいなのです.。たとえばoracleはDB機能だけなので何かで画面を作る必要がありますが、ACCESSは画面機能を持っているのでご要望の機能ならACCESSだけで十分です。というよりaccessだけの方が簡単です。
ボタンも当然作れます。 レコードを細工して印刷もできます。
accessの本なりをお読みなることを薦めます。
どんなソフト使っても不具合などの危険はありますから、ご自身の実力の問題です。
    • good
    • 0
この回答へのお礼

ありがとうございます。

アクセスだけの方がやはり簡単ですか。
アクセスはcsvファイルを取り込んで、それをエクセルにコピーして、エクセルで修正、修正内容をアクセスにコピーして、最後にcsvにエクスポート。しか基本操作をしていません。
場合により、不要レコードの削除や一括更新などはアクセスクエリで対応している程度です。

そのためアクセスの方がなじみがないためにエクセルVBAでの実装をなんとなく希望していましたが、やはり二つのソフトを使うより一つのソフトで完結した方が不具合も少ないでしょうし、実装も簡単ですよね。

おっしゃる通りですね。

すべてアクセスで実装、も考えてみます。
エクセルへの橋渡しがそんなに大事でないなら、私も、私以外のスタッフもエクセルの方が馴染みやすいので、エクセル側に画面を用意したいと考えています。

お礼日時:2013/11/21 16:04

>エクセルとアクセスで連動して管理することは可能ですか?


可能です。「ExcelVBAとAccessの連携」が参考になります。
http://ateitexe.com/access-database1/

>自前で今回のように作りたいなと思っていますが、どう思われますか?
業務に与えるリスク次第でしょう。不具合が発生した場合に
主要業務に大きな影響があり、経営危機に陥るようだと問題です。
回避策・代替策の状況に対して、あなたが判断することですね。

この回答への補足

ありがとうございます。
サイトちらっと見てみました。

のちほどさらに読んでみます。

おっしゃるとおり業務に与えるリスク次第なのですが、エクセル&アクセスで管理をしたことがないので、エクセル&アクセスで在庫管理をするということ自体がどれくらいリスクがあるのか、ということを経験者談であったり、エクセル&アクセスに詳しい方に「全然イケるよ」とか「結構すぐデータが壊れるのでオススメしない」とかそういう声を聴きたかったのです。
私が判断する、そのための情報収集をしたいのです。

もしご経験ありましたら、お声をいただけたらと思います。

補足日時:2013/11/19 17:24
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2013/11/21 16:04

すでにご承知でしたら申し訳ありませんが、ソフトライブラリーにいくつかの在庫管理のソフトがあり、そのなかにアクセスを使ったのがありました。

フリーのソフトです。これを使用されてみたらいかがでしょうか。
それは、VECTOR というソフトライブラリーのビジネス>販売・在庫・・の部門にある「シンプルだけど本格的な在庫管理」というさいとにあります。

この回答への補足

ダウンロードしてみました。
mdbファイル、つまりアクセスでした。

開いてみようとしたんですが、
「オブジェクト 取引先マスタ が見つかりませんでした。」
というエラーが出て、それでもOKを押して進んだところ
「現在のユーザーアカウントではこのデータベースを変換または有効にする権限がありません。
*~~~~~せよ。
*~~~~~せよ。
*~~~~~せよ。
*~~~~~せよ。」
というエラーが出て結局開けませんでした。

office2003の場合はセキュリティ関連の設定が必要かもしれないと書いてあったので2010だと予期せぬ互換エラーが起きているのかもしれません。

仕様を確認できず残念です。

補足日時:2013/11/23 11:38
    • good
    • 0
この回答へのお礼

早速ありがとうございます。

みつけました。
http://www.vector.co.jp/soft/win95/business/se37 …

のちほどダウンロードして仕様を確認してみます。

お礼日時:2013/11/19 17:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!