Saludos!!
Para empezar te diré que sería mucho más cómodo (para tí y para nosotros), si a tustablas en vez de Table1, Table2 ... le pusieras Artículos, Stock, Ventas, etc ... con los nombres actuales si te alejas algún tiempo del proyecto y luego lo retomas nuevamente estarás totalmente
)
Bueno me parece que sí, que puedes tener un problema con la clave de Table3, sería muy útil que nos comentaras con que motor de bases de datos estás trabajando, y la estructura de la tabla.
Si la estructura es del tipo:
Campo1
<- clave primaria
Campo2
Campo3
...
tendrás problemas con la linea:
Código Delphi
[-]Table3.FieldByName('clave').AsFloat := Table1.FieldByName('clave').AsFloat ;
Debido a que le estarás asignando la misma clave primaria a varios campos de Table3, que dependiendo del motor y aveces de la estructura te puede generar una excepción o sobreescribirte el registro con esa clave!!
Como te habían dicho por ahí de pronto se puede solucionar con campos autonuméricos, pero necesitamos los datos que te digo arriba.