I now have it working thanks to the both of you with one problem.
The leading zeros are being stripped off.
I have 3 calculated fields :-
Letters: (Left([ProductID],3)) Returns the 3 letters
Digits: (Right([ProductID],4)) Returns the digits
NextCode: [Letters] & [Digits]+1 Brings the code...