• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessの実力について)

Accessで在庫管理をする際の実力について

このQ&Aのポイント
  • Accessを使用して商品の入庫と出庫を管理する際の実力について検討しています。
  • 在庫のテーブルを作成し、入出庫のたびに在庫テーブルを更新する方法も検討しています。
  • 過去に大量のデータを扱った経験のある方からのアドバイスを求めています。

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

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.2

最近の物は使っていないので、数年前の経験上の話です。 PCの性能はCeleronの500MHz位の物で、OSはWindows2000、Accessは2000です。 >この入庫と出庫が数万件(ファイルは2G以内)とした場合でもちゃんと処理されるのでしょうか? 私の経験上では、問題無しです。 数万件のレコードを扱っていましたが、当時のパソコンでも、 待たされる事はほとんど無かったです。 多少時間が掛かったとしても、ちゃんと処理されます。 数十万単位のレコードまでは、経験がありますが、 限界を感じた事(処理が極端に重くなる等)はありませんでした。 (レコード数が増えると、それなりに重くはなりますが・・・) もちろん、テーブルの設計や、処理の内容によりますので、一概には言えません。 処理の内容によっては、数万件でも、フリーズ状態です。(^^; (DLookup関数などを多用した、重いなクエリなど・・・) まぁ、この辺りは、作る側の腕次第ですね・・・ 入庫、出庫の集計なら、基本的な集計クエリで処理出来ますので、 数万件程度なら全く問題ないと思います。 >在庫のテーブル”を作り入出庫のたびに”在庫テーブル”を更新しようかと考えています。 この件に関しては微妙ですね・・・ データベース理論では、入庫、出庫から計算できる、在庫は、 テーブルを持たず、毎回計算するのが基本となります。 入庫、出庫、在庫のテーブルを矛盾無く更新するには、 トランザクションを管理する必要があり、高度な内容になります。 http://www.serpress.co.jp/access/vba028.html 集計時間は短縮されるかもしれませんが、 それを実現するためのシステムは、かなり複雑になります。 デメリットも多いですよ。 >将来的には、DBをMysqlか何かに変更して、Accessは入力や確認だけに使おうと考えています。 基本的には賛成しますが、商用利用のMySQLはライセンスに関して注意が必要です。 PostgreSQLの方が商用利用には向いています。(ライセンスの面で) 両者の違いは、下記など参考にどうぞ。 http://www.thinkit.co.jp/free/article/0603/10/1/ >それ以来officeは信用しておりません。 officeに限らず、過信は禁物ですよ。 HDDが丸ごと壊れる事もありますから。(私は経験あります・・・(^^;) こまめな保存、定期的なバックアップは基本ですね。

a-z_A-Z
質問者

お礼

経験に基づくご意見ありがとうございました。 >多少時間が掛かったとしても、ちゃんと処理されます。 エクセルと同じように、表示されるまでに砂時計が出て待たされるのでしょうか? 私が試した範囲では、データが少ないのですぐに表示されるので、時間がかかる処理の状態がイメージできません。 >データベース理論では、 今回の答えで一番参考になりました。 そのようなものがあるとはしらなかったので、どのようなテーブルを作ればいいのか迷っていました。 入出庫から在庫数を出すのには、どのようなクエリを作ればいいのかわからないので、更新のたびに在庫数を変更する方が作るのが簡単かな?と考えておりました。 >トランザクションを管理する必要があり 入出庫ではトランザクションは必要ないのでしょうか? 今回は、サンプルとして作っているので、トランザクションも試したいと考えています。 >HDDが丸ごと壊れる事もありますから。(私は経験あります・・・(^^;) 私のパソコンも6年目に突入しているので、このような話を聞くといつも不安になります。 新しいのを買う余裕もないし、いまいちビスタを買う気もしないので(まだいい評判を聞かないので)もう少しこのパソコンにはがんばってほしいです。

その他の回答 (2)

  • venzou
  • ベストアンサー率71% (311/435)
回答No.3

>エクセルと同じように、表示されるまでに砂時計が出て待たされるのでしょうか? Accessのファイルを開く、フォームを表示する、 フォームでデータを追加する、等の処理は、 データ全体にアクセスする訳ではないので、 データの量が増えても、掛かる時間は殆ど変化しません。 データの量で重くなるのは、データ全体を集計するような処理です。 クエリで集計し、その結果をレポートで出力するような場合、 集計に時間が掛かれば、レポートを開いてから表示されるまで、砂時計です。 (数万件程度の基本的な集計なら、待つことは殆ど無いと思いますが・・・) ------------------------------------------------------------ >どのようなテーブルを作ればいいのか迷っていました。 データベースを本格的に扱うなら、「正規化」の勉強は必須です。 取り合えず、下記が分かりやすいかな。 http://www.kogures.com/hitoshi/webtext/db-seikika/index.html クエリに関しては、最初はAccessのクエリデザイナで十分ですが、 クエリデザイナには限界があります。 SQL文を使いこなせれば、更に応用の幅が広がります。 データベースの基本ですので、この辺りはWebの情報だけではなく、 入門書など購入して頂いて、しっかりと学ばれた方が良いと思います。 基礎知識の有無で、出来上がるシステムの性能が、大きく左右されます。 もし、数万件のレコードで、「Accessが重くて、使えない」となれば、 それはAccessの限界ではなく、利用者の勉強不足が原因だと思います。(^^; ------------------------------------------------------------ >入出庫ではトランザクションは必要ないのでしょうか? 取り合えず、簡単に説明します。 トランザクションが必要なのは、複数のテーブルを更新する場合です。 例えば、入庫・出庫・在庫のテーブルがあった場合は、 入庫を更新する時には、在庫も更新する必要があります。 入庫を更新した後、トラブルで停止、在庫が更新出来なかった。 と、言う場合は、データに不整合が生じます。 トランザクションは、こういう不整合を防ぐためのものです。 こちらも、書籍等でしっかりと学んで下さい。

a-z_A-Z
質問者

お礼

いろいろアドバイスありがとうございます。 アドバイスの通り、書籍等で一から学びたいと思います。

  • assault852
  • ベストアンサー率48% (1364/2797)
回答No.1

数万件は微妙ですね。 データの入出力が繰り返されるとごみの溜まり方も半端ではないですし。 処理は問題ないレベルだと思います。(処理時間は別にして) 毎日バックアップ(エクスポート)しておけば、とりあえずの保証もありますし。

a-z_A-Z
質問者

お礼

ありがとうございます。 >数万件は微妙ですね。 これは過去の経験からだと思うのですが、その辺をおしえていただけないでしょうか? よろしくお願いします。

関連するQ&A