A family of Microsoft relational database management systems designed for ease of use.
A problem with a simple expression like that is that it takes no account of public or concessionary holidays. The best solution is to have an auxiliary calendar table of all work days, i.e. a simple table of all dates bar weekends and any holiday dates, extending 10 or so years into the future (it can easily be extended if necessary). Future holiday dates need to be deleted as and when they become known of course. You'll find ways to build such a table in Calendar.zip in my public databases folder at:
https://onedrive.live.com/?cid=44CC60D7FEA42912&id=44CC60D7FEA42912!169
Note that if you are using an earlier version of Access you might find that the colour of some form objects such as buttons shows incorrectly and you will need to amend the form design accordingly.
If you have difficulty opening the link copy its text (NB, not the link location) and paste it into your browser's address bar.
Armed with the calendar table, called WorkDays say, you can then return the preceding working day with:
=DMax("calDate","WorkDays","calDate < Date()")
PS: I'd recommend assigning the date in the form's BeforeInsert event procedure.