[Access] 最適化してもファイルサイズが小さくならない時に試せる2つのこと

ACCESS

概要

Access には,「修復/最適化」の機能がある。データの追加や削除をすることで生じるファイル内部の”無駄領域” を整理整頓して,全体のサイズを小さくしてくれる。ところが,小さくなるはずのものが小さくならない時もある。

試してみたい2つのこと

1.埋め込み画像を使用しているフォームやレポートの調整

PNG画像を埋め込んでいたレポートが2つあったが,この2つのレポートだけで70MBも消費していた。明らかにおかしいので,以下の手順をしたところ,元ファイルが128MBだったのが40MBまで小さくなった。ただしこれを行うには,貼り付けていた画像ファイルが必要。

1.空の新規データベースファイルを作成する。説明上,ファイルBとする

2.ファイルBに,肥大化しているファイルより,画像を貼り付けているフォームやレポートのみをコピーする

3.ファイルBにて,フォームまたはレポートを開き,画像をもう一度埋め込みし直す。イメージオブジェクトのプロパティで,ファイルをもう一度選択すればよい。見た目は変わらないが,保存してフォームまたはレポートを閉じる。そして,最適化をする。複数のフォームやレポートがある場合は,他のものを再調整する前に,最適化を先にする。つまり最適化を何度もすることになる。

もう一度画像ファイルを埋め込む

4.ファイルBのファイルサイズが妥当な大きさであるなら成功。ファイルBにあるフォームやレポートを元のファイルに上書きコピーする。

5.元ファイルにてVBAのコンパイル と 最適化を行う。VBAのコンパイルでエラーが発生する場合は,レポートやフォームのプロパティで「レコードソース」を一旦空にし,もう一度同じものを登録させる。

ポイント
元ファイルのレポートやフォームで直接作業すれば良さそうに思えたが,それでは小さくならなかった。空のデータベースファイルで作業することで,画像の内部保存方法が何かしら改善されるようです。

2.他のバージョンのAccessで最適化させてみる

互換性の問題がどこまでクリアできるか不明だが,上位バージョンのAccessで最適化させたら小さくできることもある。(この点についてはケース・バイ・ケース)

プロパティ

Microsoft Access 2010 14.0.7237.5000 (32bit)
Microsoft Access 2019

コメント

スポンサーリンク
タイトルとURLをコピーしました