Я не уверен, что есть простой способ сделать это, потому что Access сохраняет много свойств с формами. Если вы не используете представление таблицы, вы можете скрыть кнопку ЗАКРЫТЬ в форме и заменить ее на командную кнопку, чтобы закрыть форму с этим кодом:
DoCmd.Close acForm, Me.Name, acSaveNo
Но так как это таблица данных, вы не можете этого сделать.
Вы можете попытаться встроить свою таблицу данных в качестве подчиненной формы в несвязанную родительскую форму, но я не знаю, будет ли использование приведенного выше кода для кнопки команды в родительской форме сохранять или не сохранять ширину столбцов во встроенной подчиненной форме.
Одним из решений будет повторная инициализация ширины столбцов в событии OnLoad вашей таблицы данных. Затем вы можете открыть форму с помощью acHidden и в событии OnLoad установить ширину столбцов на их правильные значения (вам нужно умножить дюймы на 1440, чтобы получить значение твипов, назначаемое свойствам ширины столбца), и на конец OnLoad, установите Me.Hidden на False.
Но это действительно что-то вроде боли в заднице.
Боюсь, что это один из недостатков использования таблиц данных, поскольку нет способа определить кнопку закрытия, которая не будет сохранять данные пользовательского интерфейса конечного пользователя.