Buenas!
Perdona mi tardanza, pero es que no había visto que preguntabas otra cosa.
En la query no puedes referenciar a un campo de un formulario. Debes crear un parámetro y después, antes de ejecutar la select. En lugar de :
update Productos set Stock = Stock - strtofloat(form3.edit1.text) where Producto = form1.edit1.text
Debes poner:
update Productos set Stock = Stock -
aramstock where Producto =
aramproducto
y llamarlo de la siguiente manera:
qry.parameters.parambyName('paramstock').Value := strtofloat(form3.edit1.text);
qry.parameters.parambyname('paramproducto').Value := form1.edit1.text
qry.execsql;
Un saludo
Edu