My first thought when I saw your response was that I have been doing this for decades, do you think I am an idiot. But it turns out I am an idiot. That was exactly the problem, I had renamed ProductType to ProductTypeId (it is a foreign key). My only defence mitigation is that, when looking at the table in Datasheet view, it doesn't show the Id part in the header name, but then, I should have been looking in design view.

Thanks for spurring me to take off the blinkers.