![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Accessで在庫管理をしよと考えています。
そこで、Accessのソフトとしての実力が気になります。
前提として、Accessのインストールしているパソコンの実力は度外視します。
商品の入庫と出庫の差から、在庫を知りたいのですが、この入庫と出庫が数万件(ファイルは2G以内)とした場合でもちゃんと処理されるのでしょうか?
あんまり、Accessが信用できないので(DBのくせに結果が出るまでに待たされる等が起こるのではと考えています。)、”在庫のテーブル”を作り入出庫のたびに”在庫テーブル”を更新しようかと考えています。
将来的には、DBをMysqlか何かに変更して、Accessは入力や確認だけに使おうと考えています。
いままでに、Accessで大量のデータを扱ったことある方の、経験などがありましたらお願いします。
以前、徹夜で仕事しているときにエクセルが固まり、データがパーになり、それ以来officeは信用しておりません。
(おかげでコマメに保存する習慣がつきました。)
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が丸ごと壊れる事もありますから。(私は経験あります・・・(^^;)
こまめな保存、定期的なバックアップは基本ですね。
経験に基づくご意見ありがとうございました。
>多少時間が掛かったとしても、ちゃんと処理されます。
エクセルと同じように、表示されるまでに砂時計が出て待たされるのでしょうか?
私が試した範囲では、データが少ないのですぐに表示されるので、時間がかかる処理の状態がイメージできません。
>データベース理論では、
今回の答えで一番参考になりました。
そのようなものがあるとはしらなかったので、どのようなテーブルを作ればいいのか迷っていました。
入出庫から在庫数を出すのには、どのようなクエリを作ればいいのかわからないので、更新のたびに在庫数を変更する方が作るのが簡単かな?と考えておりました。
>トランザクションを管理する必要があり
入出庫ではトランザクションは必要ないのでしょうか?
今回は、サンプルとして作っているので、トランザクションも試したいと考えています。
>HDDが丸ごと壊れる事もありますから。(私は経験あります・・・(^^;)
私のパソコンも6年目に突入しているので、このような話を聞くといつも不安になります。
新しいのを買う余裕もないし、いまいちビスタを買う気もしないので(まだいい評判を聞かないので)もう少しこのパソコンにはがんばってほしいです。
No.3
- 回答日時:
>エクセルと同じように、表示されるまでに砂時計が出て待たされるのでしょうか?
Accessのファイルを開く、フォームを表示する、
フォームでデータを追加する、等の処理は、
データ全体にアクセスする訳ではないので、
データの量が増えても、掛かる時間は殆ど変化しません。
データの量で重くなるのは、データ全体を集計するような処理です。
クエリで集計し、その結果をレポートで出力するような場合、
集計に時間が掛かれば、レポートを開いてから表示されるまで、砂時計です。
(数万件程度の基本的な集計なら、待つことは殆ど無いと思いますが・・・)
------------------------------------------------------------
>どのようなテーブルを作ればいいのか迷っていました。
データベースを本格的に扱うなら、「正規化」の勉強は必須です。
取り合えず、下記が分かりやすいかな。
http://www.kogures.com/hitoshi/webtext/db-seikik …
クエリに関しては、最初はAccessのクエリデザイナで十分ですが、
クエリデザイナには限界があります。
SQL文を使いこなせれば、更に応用の幅が広がります。
データベースの基本ですので、この辺りはWebの情報だけではなく、
入門書など購入して頂いて、しっかりと学ばれた方が良いと思います。
基礎知識の有無で、出来上がるシステムの性能が、大きく左右されます。
もし、数万件のレコードで、「Accessが重くて、使えない」となれば、
それはAccessの限界ではなく、利用者の勉強不足が原因だと思います。(^^;
------------------------------------------------------------
>入出庫ではトランザクションは必要ないのでしょうか?
取り合えず、簡単に説明します。
トランザクションが必要なのは、複数のテーブルを更新する場合です。
例えば、入庫・出庫・在庫のテーブルがあった場合は、
入庫を更新する時には、在庫も更新する必要があります。
入庫を更新した後、トラブルで停止、在庫が更新出来なかった。
と、言う場合は、データに不整合が生じます。
トランザクションは、こういう不整合を防ぐためのものです。
こちらも、書籍等でしっかりと学んで下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(プログラミング・Web制作) Accessの代わりのノンプログラムデータベース作成 4 2022/10/21 09:26
- その他(Microsoft Office) Excelの関数(FILTER関数)について教えてください 2 2023/07/31 16:11
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- Excel(エクセル) Excelで在庫表(クエリ、ピボット) 2 2022/04/11 17:11
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで“0”ゼロ表示をする
-
Accessで在庫管理する時の在庫...
-
Access エラー 指定されたフィ...
-
アクセスのクエリで引き算をし...
-
ACCESSで在庫管理 備考欄の組...
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
2つのテーブルに共通するレコ...
-
デザインビューにてテーブルが...
-
アクセス 項目毎にデータを横...
-
Accessで、1つの項目に複数の...
-
途中で改行されたCSVをAccessに...
-
アクセスのエラー「クエリには...
-
EXCEL→ACCESSインポートでセル...
-
クロス集計クエリの結果をテー...
-
Accessを開きなおすとテキスト...
-
アクセス:クエリの結合とリレ...
-
ACCESS 「パラメータの入力」...
-
エクセルのマクロで検索・抽出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで“0”ゼロ表示をする
-
楽天証券→SBI証券へ投資信託は...
-
Accessで在庫管理する時の在庫...
-
Access エラー 指定されたフィ...
-
アクセスのクエリで引き算をし...
-
在庫管理と賞味期限管理
-
ACCESSで在庫の入出庫履歴を作...
-
アクセスが・・・
-
ACCESSで在庫管理 備考欄の組...
-
Accessで、在庫表を作りたいの...
-
Accessのレポートで日々の在庫...
-
Accessで在庫管理をしたいです。
-
ACCESSで困っています。
-
アクセスでの在庫管理(在庫期...
-
Access:テーブルの情報を参照...
-
エクセルVBAとアクセスでの在庫...
-
ACCESSのテーブル設計
-
ACCESSで在庫管理を作成するよ...
-
兵庫県明石にある明石海峡大橋...
-
ダイソー×ガールズトレンド研究...
おすすめ情報