I'm not sure there is an easy way to do this, because Access saves a lot of properties using forms. If you have not used the Datasheet view, you can hide the CLOSE button on the form and replace it with the command button to close the form using this code:
DoCmd.Close acForm, Me.Name, acSaveNo
But since this is a description, you cannot do it.
You might try to embed your datasheet as a subform in an unrelated parent form, but I don't know if using the code above the command button in the parent form or not preserving the width of the columns in the inline subform.
One solution would be to reinitialize the column width in the OnLoad event of your document. Then you can open the form with acHidden and set the column width to their correct values ββin the OnLoad event (you need to multiply 1440 inches to get the twips value to assign the column width properties), as well as the end of OnLoad, set Me.Hidden to False.
But it really is a bit of a pain in the butt.
I am afraid this is one of the drawbacks of using data tables, as there is no way to define a close button that will not save the end user UI data.
source share