• ベストアンサー

アクセスの容量がなぜか増加します

アクセス2000でテーブルを作りエクセルからVBAを使用してテーブル更新行う処理を作ったのですが元々のデータ件数と変わらないにもかかわらず 容量を見てみると元が6メガだったものが120メガにも増えています なぜでしょうか教えてください ちなみに件数が多い為アクセスはMDEにしています どうか解答 よろしくお願いします

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 Accessは更新情報などをどんどん記憶していくので、開くたびに容量が増えていきます。 なので、ときどき最適化をしましょう。 最適化は、ファイルだけをいったん閉じてから、 ツール→データベースユーティリティ→最適化/修復 を選択すれば出来ます。 驚くほど容量が減ることがありますよ。 では。

toro010915
質問者

お礼

ありがとうございました 120メガあった容量が4メガになりました

その他の回答 (1)

noname#1296
noname#1296
回答No.2

maruru01さんの回答通り最適化しないとダメです。 エクセルからデータ更新するということは削除したり追加したり更新したりされてますよね?削除した領域はそのまま未使用のまま残ってしまいますし、更新した場合もかな? 因みに件数が多いのでMDEにするっていうのは関係ないでしょう。 VBAを中間コードにコンパイルした形で保存して、ソースを持たなくなるだけですので、フォームやレポート、モジュールがたくさんある場合は容量がかなり変わってきたりAccess内のモジュールを呼び出す速度が早くなったりしますが、エクセルのVBAからテーブルを操作する場合は、影響しません。

toro010915
質問者

お礼

ありがとうございました また、MDEの説明までしていただき本当にありがとうございました

関連するQ&A

  • ACCESSでリンクテーブルのデータを自動取り込みしたい

    業務データの処理について、お教え願えればとご質問致します。 ACCESS2000でエクセルにリンクテーブルを設定しており、月に一度 エクセルのデータが更新されています。 手動作業で、このリンクテーブルの「すべてのレコード」を選択した後 ACCESSのテーブルに貼り付けて引き続く作業をしています。 複写するリンクテーブルの数が多いので マクロかVBAで自動的に取り込みたいのですが、  どうも良い方法が分かりません。 よい方法をご存知の方、居られましたらご教授下さい。

  • ACCESS2000でMDE

    ACCESS2000(Windows2000)でデータベースを作成したのですが 「MDEデータベースを作成できませんでした」とメッセージが表示されてMDEを作成できません。 作成方法を教えてください。 余分なテーブル等はすべて削除しても行えません VBAでの作り込みをしているのでそれが原因でしょうか?

  • アクセス処理結果を書き出しすることはできる?

    こんにちは。いつもお世話になっています。 アクセスにてVBAで処理を回した後、処理結果を(1)アクセスに書き出し(2)エクセルに書き出しすることは、それぞれ可能でしょうか? もし可能であれば、(3)どのようなコードを使い実施することができるかお教えいただけないでしょうか? EX)インポートという処理に対しての書き出し事項 ・インポート完了しました。 ・インポート件数は○○件でした。 ↑これら情報をアクセス、あるいはエクセルへ書き出すことは可能でしょうか?

  • ACCESSについて

    アクセスでエクセルのデータを取り込んで使用していますが、 アクセスでテーブルのレコードを更新または追加した場合にエクセルのデータにも反映させるようにしたいのですが、何か方法はありますか。

  • Access2000のデータ容量について

    Access2000のデータ容量は1GBまでなのでしょうか。 1GBということであれば、データ件数は約何件ぐらいになるでしょうか? 例: フィールド項目      9個     データ型     数値型     フィールドサイズ    長整数型           上記の場合だとしたらレコード件数は約何件ぐらいまででしょうか。 その他 1GBはフロッピィー何枚分ですか。 よろしくお願いします。

  • エクセルVBAでアクセステーブル更新

    エクセルとアクセスともに2003を使っています。 毎回エクセルでアクセスのテーブルに投入するデータを加工して、アクセスのテーブルに投入しているのですが、この過程をエクセルVBAを使って、自動的にアクセスのテーブルに投入していきたいと思っているのですが、教えて頂けないでしょうか? よろしくお願いします。

  • EXCEL97 から ACCESS97 のテーブルを変更するには?

    EXCEL97 の VBA を使って ACCESS97 のテーブルのデータを変更するには どうやれば、いいでしょうか?

  • アクセス テーブル 列を行にしたいのですが・・・・

    アクセス初心者ですが、ご教授頂けませんでしょうか?<abab123> ・2つのテーブルがあります。 ・入力者の都合上、どうしても行入力にできず、列入力になってしまった為、 テーブルを作り直す必要があります。 < 数量 テーブル > 機器| 商品1|商品2|・・ |商品100 ----------------------------------- 1 | 10 | 20 |・・| 30 2 | 40 | 50 |・・| 60 ・ ・ 10000| 70 | 80 |・・| 90 < 単価 テーブル > 機器 |商品1 |商品 2|・・|商品100 -------------------------------------- 1 |1,000 | 2,000 |・・| 3,000 2 | 4,000 | 5,000 |・・| 6,000 ・ ・ 10000| 7,000| 8,000 |・・| 9,000 ・こんなテーブルにしたいのですが。 < 結合 テーブル > 機器 |  商品 | 数量 | 単価 ---------------------------------------- 1 | 1 | 10 | 1,000 1 | 2 | 20 | 2,000 1 | ・ | ・ |  ・ 1 | 100 | 30 | 3,000 ・ | ・ | ・ | ・ ・ | ・ | ・ | ・ 10000 | 100 | 90 | 9,000 □ EXCELで、行列を入れ替えようと思ったのですが 機器(10,000) X 商品(100)= 1,000,000 行となり、 65,536行 の EXCEL2003では、断念しました。 VBAも考えましたが、16回(=1,000,000/65,536)、 EXCEL を ACCESSテーブルに貼り付けるのも??? Webで、アクセスSQL・・ユニオン・・・などがヒットするのですが、 良く解らなくて。。。です。 結合テーブルを効率的に作成する方法を、ご教授頂けませんでしょか?   宜しくお願い申し上げます。 □ アクセスはデーター処理で毎日使用しておりますが、 難しい処理をする訳ではなく、 テーブル作成、クロス集計等から、EXCELへ書き出し、 EXCELの資料を作成したりしています。

  • アクセスVBAからエクセルの操作

    おはようございます。 アクセスVBAを使用し作成しているのですが、ここ数 日悩んでしまっている事があります。ご教授頂ける と幸いです。宜しくお願い致します。 <悩み・相談> アクセス側からエクセルに出力させた際、オートにて、ピボットテーブルを作成しようと考えております。毎月のデータ件数が違う為(月毎にピボットテ ーブル作成のセル範囲が変わります)、どのように VBAを組めば良いのか悩んでいます。 今現状のVBは、下記の通りです。 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "'受注データ(確定)'!R1C1:R7231C31").CreatePivotTable TableDestination:="", _ TableName:="ピボットテーブル1", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select ActiveSheet.PivotTables("ピボットテーブル1").PrintTitles = True ActiveSheet.PivotTables("ピボットテーブル1").AddFields RowFields:=Array("処理区分名", _ "地区", "集計コード", "病院名", "データ"), ColumnFields:="大分類名", PageFields:=Array("担当グループ" _ , "集計地区", "担当者", "中分類") With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("本・個") .Orientation = xlDataField .Position = 1 End With 毎月のデータ件数が、7231で終われば良いのですが、毎月データ件数がランダムな為、上のVBでは使えないですよね??データ件数に関係なく、ピボットテーブルを自動で作成するには、どこをどのように変えたら宜しいでしょうか?? お手数ですが、ご教授頂けると幸いです。

  • エクセルからアクセスへデータ転送

    はじめまして。アクセス初心者です。 エクセルからアクセスへデータ転送したいのですが、エクセル側のデータを更新するのは、私では無く、ネットワークで繋がった会社の別の人が更新します。ですので、エクセル側のデータが更新されると、エクセルでマクロを実行し、アクセスのテーブルへデータが転送される様にしたいです。 又、データを転送する場合に、アクセスのあるテーブルのデータを全て消去して転送するパターンと、テーブルのデータの最後に追加してデータを転送させたい場合と2種類あります。 だれか教えて下さい。よろしくお願いします。

専門家に質問してみよう