Hola, mira antes que nada espero haber comprendido correctamente tu problema, y que mi respuesta te pueda ayudar en algo.
Lo que yo haria es rellenar ambas grid con su respectiva informacion, y crear campos persistentes en cada una de las query, como no tengo aqui los Zeos ni MySQL, lo hago a patin ejemplificando tus query con dos ClientDataSet, el primero tandria la informacion del producto/receta, y el segundo el stock de materia prima.
Código Delphi
[-]
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
ClientDatase2tAGUA := ClientDataset2AGUA - ClientDataSet1AGUA;
ClientDataset2HIPOCLORITO := ClientDataset2HIPOCLORITO - ClientDataSet1HIPOCLORITO;
ClientDataset2ESENCIA_HIGIENIC := ClientDataset2ESENCIA_HIGIENIC - ClientDataSet1ESENCIA_HIGIENIC;
end;
Repito espero haber entendido bien tu pregunta y que te funcione... si no ps por aqui seguimos para aclarar cualquier cosilla (o burrada que haya yo cometido
) .
Saludos!!!