Sinceramente secondo me si tratta di tentativo di assegnazione di un valore non corrispondente al tipo previsto per il campo o per il controllo.
Trattandosi di campi calcolati, sei sicuro che non tenti ad esempio di passare un valore long quando il tipo dichiarato per il campo è integer?
Se il record da aggiornare è frutto di una query e tenti di assegnare un valore non corrispondente si blocca tutto e non ti permette di aggiungere nessun record.