Yes, they can always override the default value, whether it's done in form or table.
I originally said table only because I thought you'd want it to be "7 days from today", but you wanted "7 days from this date", in which latter is best done on form and VBA as I gave above.
Expressions are not bound. That's why the date is not being saved. Only controls whose ControlSource equals the name of a column from the form's RecordSource are bound. When the ControlSource starts with the equal sign, it is an expression and Access has no idea where you would want to save it.
Banana gave you the correct answer. Use the AfterUpdate event of the Apptdate control. Press the builder button to the right of the AfterUpdate property field. Choose the option to build code if that isn't the default. Add the 1 line into the procedure built by the builder.