how do you do this in access automatically using a query or vba ?
The reason you were advised to create a table is because there is no standard for what constitutes a working day. For example, you labelled 3/03/2018 as a working day. For many, Saturday is not a work day. There is also no consistency in what constitutes a holiday; not even across some countries, let alone the world. So by creating a table specific to your needs, you denote/mark which are and which are not. All you need is a field for dates and another field that specifies yes or no. This field should not be named Type. This can be a yes/no true/false on/off, numeric (0 or -1) or text. To get the numeric value for the date, all you need is to use a date function, such as DatePart to extract 2 from 03/02/2018
There is no need to store this value in a table. To do so would be redundant as the value is already contained within the date. It should be represented on a form or report as a calculated field that uses a function such as the one I mentioned.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.