Al final,
table5.Close; no esta donde debe, deberia estar antes del
end;. Aunque diria que el compilador te advertiria de tal error.

Y otra cosa, para que usas
table5.clearFields;?? con que proposito final.
Puedes encontrar suficienteo informacion de lo errores de Key violation aqui mismo. Bastante se ha tratado.
Saludos