Pues al final resulta que no era fallo del camp clave, resulta que sin querer maree un campo de la base de datos.
Pues se ve que sin darme cuenta, cambié la propiedad "indexado=sin duplicados" de un campo numérico y de ahí salía el error. Ya que es un campo numérico que sí se repite.
He dejado la PK en el campo alfanumérico y ahora si funciona bien. Sorry.
Saludos
PD: que manía le teneis al access...Pues a mi me da buenos resultados. Aunque si requiero más si prefiero SQL Server o SQL SERVER Express. Es que depende mucho de la app.