- ベストアンサー
accessで複数年度のデータを蓄積する方法
accessで複数年度のデータを集計・比較等を行う場合には、蓄積データを年度ごとにテーブルを作成し直して使用するか?または、データは年度の区切りなく連続で蓄積しクエリで年度ごとに抽出してそれを使用するべきか?どちらの方が使い勝手がいいのですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一般的なことですが同じ系列のデータは、分けない方がいいです。 と、いうのは、分けてしまうとデータがまたがるテーブルに対して問い合わせを行うのがややこしくなります。 ですので分けない方が得策です。 データベースは、本来データを蓄積していく物です。 『データが多くなると遅くなるんじゃないか』と思うかもしれませんがデータが増えて遅くなるのならその処理のやり方に何かしらの問題があると考えるべきです。 インデックス等を必要な場所に付けていればデータの量が多くても少なくてもさほど関係ありません。 ただ、MS-Accessの場合は、それ自体にデータ量の制限があります。 細かい計算は、さておき 2GBの壁があります。 通常のキャラクターならかなりの量が保有可能ですがやはり限界があることも事実としてあります。 また、Access自体のデータベースの不安定さも考慮すべき点と思います。 ある程度データ量があり、業務で使用するデータであるのなら SQL Server等のデータベースを使用することも考えた方がよろしいかと思います。 Microsoft SQL Server 2008R2 Express ですと 10GBまでのデータを扱えます。 こちらは、無料です。 SQL Serverは、難しくありません。ややこしいのはインストールだけです。 既に、MS-Access でシステムを作成なさっているのならテーブルをSQL Server へ転送してそのテーブルにリンクすれば、Access のシステムを使い続ける事ができます。 操作は、Access データは、知らないうちにSQL-Serverへいく システムになります。
その他の回答 (2)
- layy
- ベストアンサー率23% (292/1222)
>どちらの方が使い勝手がいいのですか? 何を作ろうをしていますか?。 複数年データ混在がいいからと言っても、 単独年データの処理が多かったらあまり効果なかったりしませんか?。 その逆も同じ。 仕様面の用途は?。それで答えはある程度方針が見つかるのでは?。 単独年データでの処理がどのくらいあるのか、 複数年データでの処理がどのくらいあるのか。 単独年データから複数年データを作るのは追加クエリの年数分、 複数年データから単独年データを作るのは選択クエリの年度指定、 など。 これを気にしているのか?。 処理速度も考慮するのか?。 50件のために10万件の中のデータを見るとか・・・。 VBAにて、 年度を変数で持たせるとSQLで動的に指定できて、 融通ききます。 必ずどっちか、というものでもないように思われる。
お礼
ご回答ありがとうございます。初めての質問箱でしたので、使用条件も良くわからない質問になってしまいすみませんでした。必ずどちらかというわけではない、という考え方あるということはとても勉強になりました。また、同じような質問をするかと思いますがよろしくお願いします。
- nda23
- ベストアンサー率54% (777/1415)
通常は後者の方が応用利くと言えます。 例えば、後者であれば、他のテーブルとは 年度で結合できますが、テーブル名が違う と言うことは条件で結合できず、その度に 動的にSQLを組み替えることになります。 即ち、静的なクエリを定義することが不可能 になります。
お礼
ご回答ありがとうございます。初めての質問箱でしたので、よくわからなかったのではと思いますが、的確な説明で参考になります。また、同じような質問をするかと思いますがよろしくお願いします。
お礼
早速のご回答ありがとうございます。初めての質問箱で回答が返ってくるのか不安でしたが、複数の方が返事をくれ、こんな親切な方々がいることに感動しました。アクセスは講習会で教わったレベルであとは独学で勉強しているので、これからも質問箱を使わせていただきますので、くだらない質問も沢山あるかと思いますがよろしくお願いします。