The 2nd problem is the same as the first, just a different data type.
this
DLookup("date", "Tbl_bank holidays", "Date=" & counter)
should be
DLookup("date", "[Tbl_bank holidays]", "Date = #" & counter & "#")
Critera strings need to be built according to the data type of the field you are...