手動で最適化/修復をする方法
ファイルを閉じるときに毎回最適化を走らせる設定
ファイル。
オプション。
現在のデータベース ⇒ 閉じるときに最適化する。
注意点(最適化した時に起こるデータベースへの副作用)
レコードが無い テーブルの オートナンバー型 の採番が 1からスタートにリセット されます。
例えば下図のテーブルについて、IDがオートナンバー型で100まで採番されていたとします。
(次のレコードはID=101の状態)
この状態で最適化をすると、次にこのテーブルの入るレコードはID=1になります。
レコードがある 場合はリセットされません。
例えば下図の状態で最適化すると、次にテーブルに入るレコードはID=4となります。
蛇足
最適化するとファイルサイズが格段に小さくなることがあります。
(特にCRUDする回数が多かったり、扱うレコード数が多いAccessファイル)
バックグラウンドで常に最適化を走らせればいいのに…。
なぜ任意のタイミングで実行させたり、あえて毎回やるかどうかの設定を用意しているのか…。
謎…(´・ω・`)
最近は『ファイルを閉じる時に毎回最適化する設定』にして、『オートナンバー型の値に依存しない設計』で開発をスタートしています。
この問題に対応する為に自作ツール作った
バージョン
Access for Microsoft 365 MSO(16.0.13328.20262)32ビット
Windows10 Pro バージョン1909 OSビルド18363.1171