数多くのフィールドがあるテーブルのデザイン作業において、フィールドをいったん削除したあとにフィールドを追加していくようなとき、1テーブルあたりのフィールド数の上限値である255を超えていないにも関わらず、「定義されているフィールドが多すぎます。」エラーが出てフィールド追加できないようなときの対処方法です。



それには、フィールド削除したあとにテーブルデザインを保存し、”データベースの最適化/修復”を実行します。そしてそのあとにフィールドの追加操作を行います。
テーブルに保存される「レコード」(ユーザーが入力した”データ”)については、レコード削除しても内部的には残っています。ただデータシートビューなどで見ても出力されないだけです。そのようなデータベースに対して最適化を実行すると、それらが完全に削除されます。削除済みレコード数が多い場合にはデータベースのファイルサイズが小さくなることからもそれが分かります。
それはテーブルの「フィールド」についても同様のことが言えます。デザイン上で削除しても内部的には残っています。そして、フィールドを追加しようとしたときは削除されたはずのフィールドの数もカウントに入ってしまうため、上記のようなエラーとなります。
レコードと同様、余分な削除済みフィールドの情報も最適化によって完全に削除されますので、以降はフィールドの総数も実際に見えるものの数にリセットされ、上限以下であればフィールドを追加できるようになります。
- これは、デザインビューでフィールドを削除したにも関わらず、データシートビューにすると削除されたはずのフィールドが表示されてしまう場合にも有効な方法です。
- また、既存のフィールドに対してデータ型などの変更を加えた場合にも変更前の情報が保存されているのか、その数がカウントされてしまうようです。その場合もやはり最適化が有効です。
|