The top two lines of EVERY module should be
Code:
Option Compare Database
Option Explicit
"Date" and "Type" are reserved words in Access and shouldn't be used as object names. I renamed them.
Having "ID" as the PK field name of every table is a poor naming convention. I renamed them (and the FK fields)
See the relationship image......

You have the "tblTaxRate" table PK field as an Autonumber, but the 3 related field(s) in "tblSalesDetail" are Text Type. Cannot set RI.
You have Calculated fields and LookUp fields in your tables. I NEVER use Calculated fields and LookUp FIELDs.
See:
The evils of lookup fields - http://access.mvps.org/access/lookupfields.htm
Table and PK design tips - http://www.fmsinc.com/free/newtips/primarykey.asp
About calculated table fields - http://allenbrowne.com/casu-14.html