nosurlien , please note that :
DoCmd.OpenReport "invoice", acViewNormal, "Main", "[contract number]=" & Forms!Main![Contract Number]
syntax mean the following :
"invoice" : report name
acViewNormal : report to open in print state
"Main" : filter similer to where condition , ie...