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