• 締切済み

アクセス初心者です。

勤務先で在庫システムを作るように指示されて現在勉強しながら作成している最中です。 例として イチゴ・バナナ・チョコレート・クッキー・人参 が商品としてあるとします。(果物は100円・お菓子は150円・野菜は200円とします) 上記をセット商品として販売したい場合 テーブル1(料金を記載せずに単一商品をすべて並べたもの) テーブル2(料金を記載して単一&セット商品を並べたもの) テーブル2でテーブル1を参照しながら在庫テーブルから数値を引くということは可能なのでしょうか? 初歩的すぎる質問かもしれませんが教えてくださると幸いです。 よろしくお願いします。

みんなの回答

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.5

>>勤務先で在庫システムを作るように指示されて現在勉強しながら作成している最中です。 これは、医者の知識経験が無い人に、医師を雇う予算が無いので素人に勉強してもらって手術をやらそうというようなものでしょう。 もちろん、ソフト開発なら、違法になるわけではありませんけどね。 質問者さんに支払う給料の1ヶ月分(ソフトのスペックによっては1年分になるかもしれませんが・・・)出せば、質問者さんの作るものよりもずーと良いソフトが手に入ると思いますよ。コストパフォーマンスを考えると、市販のパッケージ購入をしたほうがいいと思います。 ちなみに、私の会社はソフト開発をしていますが、経理や総務で使うソフトは、市販パッケージとかサービスを利用しています。自社開発するよりも、そのほうが安くて良いソフトが手に入るとの判断をしているものと思います。 もちろん、「在庫システムこそが我が社の生命線!」という社内の判断があり、そのソフト開発のために、質問者さんをいちにんまえのSEに育てようという5年とか10年計画があるならば、初歩的な質問をしながら、ソフトを作っていくのもいいとは思います。 ただ、質問内容からして、ここで疑問点を質問するよりも、まずは在庫システムの作り方を解説した書籍などを書店で購入されて勉強されるほうが効率的だと思います。 >>テーブル2でテーブル1を参照しながら在庫テーブルから数値を引くということは可能なのでしょうか? いわゆる「セット品在庫管理」ですね。プログラムがあれば、当然ながら可能です。 ちなみに最近は、自社用ソフトを開発するよりも、ネットのクラウドサービスを利用するほうが「早い・安い」ってことで、利用されるところが増えているようです。 ここはセット品在庫も対応しているようですし、参考になるかも? http://cross-mall.jp/feature/

  • gadd3
  • ベストアンサー率46% (211/451)
回答No.4

在庫の管理はいくつか方法があると思います。 (01)クエリ(SQL)だけを使って差し引きする。入出庫や販売数を加味しながら。    テーブルをソースにしたクエリ、クエリをソースにしたクエリも    作れるのでそれで(つまり多段的に集計をして)対処する。    プログラミングはしない。    クエリ(SQL)のみで対応する。 (02)VBAにてDAO、もしくは、ADOを使ってプログラミングで処理する。 (03)上記2つの項目を複合させて処理する。 などが代表的な管理のしかたかと思います。 一番の問題は、「例外処理」です。 例外的な数の数え方をするものをどう処理させるか、です。 そしてそれが、もし、「やれない」・「計算できない」ことが 現在の業務にどれだけ影響をあたえるのか、です。 それを考えると、(03)の方法が割と多く使われる方法かなあと思います。 例外処理は、プログラミングで解決したほうが早いからです。 ただ、もちろん、 テーブル設計とかの基本的なこと、それから、SQLやVBAプログラミング、 DAOやADOのプログラミングなど(そう滅多やたらに難しくはないですが) の知識が、必要となってきます。 その勉強をどうやってやるか、です。 ご質問の内容も、ご質問内容自体がまだ明確でないので どうなのかはわかりませんが、一応、(03)なら、処理できないということは まず無いと思います。 あと、SQL Server など、本格的なデータベースソフトについてですが、 同時接続する人数が、2、3人程度ならAccessでも良いかと思います。 (テーブル専用のmdbとプログラムや帳票関係のmdbとを分ける方法で。 ただ、ファイル破壊が起こらないようなサーバ設定やら なんやらが少し必要です。 それを知っている人は少ないです。 知っていれば20人規模でも壊れません。) テーブルの基礎が分からない人が、SQL Server が扱えることはありません。 SQL Server はAccessよりもインストールも何もかも、難しいです。 ユーザ別セキュリティ、その他、ネットワークの概念、 いろんなことを知ってないと、インストールすらままなりません。 それに、SQL Server には、フォームなどのデータ入力を便利に行う画面作成機能も ありません。 また、すべてが、SQLでことたりるとは、僕にはいえません。 それができるのは頭のいい人たちだけでです。 本当のエンドユーザー、 一般的なパソコンとあまり縁のない従業員がSQLを覚えられるかと言うと 「正直無理」だと思います。 そういう人達が、その在庫管理のシステムにどれだけかかわるのかも 問題点のひとつです。 だから、Accessでデータベースの大筋を勉強してから SQL Server を使うかどうか決めるほうが現実的だと思います。 なお、AccessとSQL Server は相性がよいので、 SQL Server の中身をのぞきながら入力するような画面は Accessで作成できます。 ADP拡張子のファイルがそれです。 いずれにしましても、まったくの初心者でAccessを独学で 「しかも短期間で」というのは無理があると思いますので、 もし学習に予算が取れるなら 以下の会社で遠隔操作で直接教えてくれるサービスもありますので 一度問い合わせしてみるとよいかもです。 http://www.soft-dev.jp/index.html 相談するだけでもプラスにはなると思います。 (わたしは回しものではございません) がんばってください。 応援しています。

回答No.3

老婆心ながら、初心者にはACCESSは結構難しいです。一方SQLは初心者でも結構簡単です。 「I言語」はSQLを使いますが、ACCESSの受け持つ難しい所をパソコンに任せたので、ACCESSより簡単です、お試しください。

miyabi_ak
質問者

お礼

何度もありがとうございます。 そういう風な考え方には至りませんでした(笑) 一応わからないながらも模索してみます^^;; (でもさっきI言語のホームページ必死に見ていましたが 正直言ってよくわかりませんでした・・・Orz)

回答No.2

質問の回答では無くてすみません、提案です。 アクセスはスタンドアロンで個人が使う事を想定したソフトです、企業内で使うソフトとしては向きませんので、本格的なリレーショナルデータベースを使われる事を推奨します。 ACCESSレベルで作る事を想定したシステムであればMicrosoft SQL Server2008R2 Express Editionが無償ですし、わりと初心者でも理解しやすいのでお勧めです。 ただし、ACCESSのようなプログラム機能はないので、私の作った物で恐縮ですが「I言語」をインターネットで公開していますので、使ってみて下さい。 尚、I言語ホームページにプログラムの作り方も載っていますし、ひな形システムとして、在庫管理、在庫引き当て(MRP)も含めた、発注システムも入っていますので、参考にしてください。

miyabi_ak
質問者

お礼

ご提案ありがとうございます。 確かにSQLの方面でも考えてはいるのですが 私自身が「データベースって何?」から始まってしまって 壁に当たってしまっても社内で質問できる相手もいないので とりあえず勉強しよう…の状態です。 今後、もっとスムーズに理解できるようになったら SQLも使っていきたいと思うので、 今回はもう少しaccessについて勉強したいと思います。

回答No.1

Q、可能なのでしょうか? A、不可能! テーブル[商品] id_商品名 ============== 01_バナナ 02_イチゴ テーブル[在庫] id_商品_id_枝番名_______仕入単価_販売単価_期首在庫_入荷数_出荷数_当月期首_当月入荷数_当月出荷数 ==================================================================================================== 01_01______フィリピン産_¥100_____¥200_____100______1000___900____200______100________50 02_01______台湾産_______¥200_____¥400_____100______1000___900____200______100________50 03_02______甘王_________¥300_____¥600_____100______1000___900____200______100________50 04_02______アイべりー___¥400_____¥800_____100______1000___900____200______100________50  商品には、必ず<枝番>が存在します。衣料品ですとS、M、Lなど。イチゴですと甘王とかアイべりー。こういう商品の特徴を反映して、商品名は[商品]で管理して枝番毎の在庫は[在庫]で管理します。  次に、枝番毎の在庫管理では、システムの立ち上げ時の期首設定を想定します。運用上では、月次締切への対応を考慮します。月次締切に関係なく入出庫情報入力を処理するのは、締切前と後とで入出庫数を分けて処理します。  このような在庫管理を展望した場合、その処理はプログラムコードで行う以外に方法が無いことが判ります。テーブルがバックエンドでAccessのフォームやレポートがフロントエンドとすれば、フロントエンドはプログラミング言語で書くことはある意味で当たり前のこと。「テーブルを比較すれば在庫管理できるか?」と問われれば、「不可能!」と答えざるを得ません。 テーブル[商品セット] id_セット名____販売単価 ================================== 01_デラックスA_¥1,000 02_デラックスB_¥2,000 テーブル[商品セット内訳] id_商品セット_id_枝番_id ================================== 01_デラックスA___フィリピン産 <------- それぞれ参照表示  02_デラックスA___甘王 03_デラックスB___台湾産 04_デラックスB___アイべりー テーブル[出荷伝票] id_出荷日_____伝票番号 =============================== 01_2011/11/01_2011110001 02_2011/11/02_2011110002 テーブル[出荷伝票明細] id_出荷伝票_id_行番号_出荷区分_商品区分_商品_id_商品セット_id_数量 =========================================================================== 01___________1______1_出荷_____単品___________1_____________0___1 02___________1______2_返品_____単品___________2_____________0__-1 03___________2______1_出荷_____セット_________0_____________1___1 04___________2______2_返品_____セット_________0_____________2___1  商品セットも商品の[商品名]と[枝番]という主テーブルと明細テーブルとで管理されるべきかも知れません。そうして、その入出荷は、入荷履歴(伝票)、出荷履歴(伝票)で。その各種伝票も、伝票の見出し部と行明細部とに分かれるでしょう。その際、出荷においては[商品区分]を設けて<単品>と<セット>とを意識して処理すべきかも知れません。  質問の案件に一定の答えを出して行くには、このようなテーブル設計が先にありきです。それが不明な状況では「不可能!」と答えざるを得ません。 PS、私も全くのド素人。でも、C/Sシステム位は開発できます。頑張られてください。

miyabi_ak
質問者

お礼

丁寧なご回答ありがとうございます。 まずテーブルの設計ということは理解していたのですが accessを社内で理解している人がおらず… 私自身もaccessの存在すら知らないところから 始まってしまったので、参考書を見ながら小さなデータベースを作って・・・を 繰り返している状態です>< もっと勉強しなおしてきます。

関連するQ&A