When you first start out writing code as a beginner it's best to test one unit at a time. So with that in mind, did your Instr() function work in the first place?
If you mean
Code:
Left([Odour],InStr(1,[Odour],"(")-1)
The original field was called 'Odour' and it held 'Drugs (Test)' when I ran the query I got 'Drugs (Test)' in the first column and 'Drugs' in the next. In the 3rd column I got #Error. I was hoping to get 'Test'.