Thank u Sccotgem 4 ur code , and thanks 4 Rich . it is right in beforeupdate
and i modifi the code to that :
If Me!inv_date < DLookup("[B_Date]", "tbl_Year") Or Me!inv_date > DLookup("[E_Date]", "tbl_Year") Then
MsgBox "Invoice date outside of range", vbOKOnly
DoCmd.CancelEvent
SendKeys "{f2}", False
it is work good .
Ashraf