- 締切済み
access初心者なので
初心者なので初歩的な質問ですが。access2007で販売管理のプログラムを作ろうと思いますが、疑問にぶち当たってしまいました。毎日毎日物品を売るたびに販売データをテーブルに入力しますが、月日を重ねるにつれてそのデータ量は膨大になってしまいます。古くなっていくデータはどのように処理したら良いでしょうか? 方法として(1)そのまま増えるにまかせる(2)毎年新しい販売テーブルを作り、新しいにデータはそちらに入れて、古い販売テーブルはバックアップとして別にとっておく。。。など、どうしたら良いでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
>accessの場合データの保存場所は独立したフォルダには入らないのですか アクセスのメニューバーで ファイル/外部データの取り込み/テーブルのリンク で外部データを内部データと同様に扱えます。なので「被リンクファイル」に全部のテーブルを入れ、それ以外のクエリ、フォーム、レポート. . . .を「プログラムファイル」に収めれば、分離したことになります。 MS-Access環境を使わず、他言語(私ならばDelphi、その他VBやVC、etc.)を使用すれば、当然ながら、プログラムとデータは完全分離します。この方がプログラムするのは楽というか、色々細かい制御ができます。
- CHRONOS_0
- ベストアンサー率54% (457/838)
>accessの場合データの保存場所は独立したフォルダには入らないのですか、 >プログラムと一緒になっていて分離はできないのでしょうかね 別のmdbに追い出すこともできますよ そうすれば別ファイルになります
「初心者」と書かれているので、多少蛇足かもしれませんが 1.データが増えても処理速度はほとんど変わらない 実際試験してみました。郵便番号データ121,585件から郵便番号をキーに28件選び出すのと、郵便番号データ604件から郵便番号をキーに28件選び出す時間を計ると、私の環境ではともに表示するまで63ミリ秒で差を検出できませんでした。 2.HDに占める領域 これはデータ数に正比例します。しかし外付けHDで1GBが40円程度ですからコスト的には問題にならないと考えます。 最後に老婆心から、「古いデータも破棄しない」ことをお奨めします。別テーブルに移すのも一つの方法ですが、面倒だし、1.に書いたように処理スピードに大差はありません。強いて別けたければ「処理済み」などのフラッグで行うのが良いでしょう。
- CHRONOS_0
- ベストアンサー率54% (457/838)
年が変わると新しいテーブルを作るなどということはしません そんなことをすると毎年関連するクエリやVBAなど かなりの手直しをしないといけなくなります 一つのテーブルにどんどん蓄積していきますが 明らかに古いデータは不要というのであれば 削除するか、保存用の別テーブルに追い出します
お礼
回答大変ありがとうございました。 参考になりました。また質問をすることがあると思いますが、その時はよろしくお願いします。
お礼
私の疑問に対して回答をいただきましてありがとうございました。 確かにデータが増えた時の処理速度とデータサイズを心配していましたので回答をみて少し安心しました。売上伝票の数としては600件/月、10000件弱・/年くらいです。5年で4~5万件でしょうか。accessの場合データの保存場所は独立したフォルダには入らないのですか、プログラムと一緒になっていて分離はできないのでしょうかね