Me autorrespondo:
Código Delphi
[-]procedure TPRODUCCION.Button1Click(Sender: TObject);
begin
While not BDatos.PRODUCTOSTAB.Eof Do
Begin
if BDatos.PRODUCTOSTAB.FieldbyName('STOCK').AsFloat <
BDatos.PRODUCTOSFTAB.FieldbyName('STOCK').AsFloat then begin
ShowMessage('El STOCK no es suficiente, elija una cantidad menor.');
BDatos.PRODUCTOSTAB.First;
BDatos.PRODUCTOSFTAB.First;
abort;
end;
BDatos.PRODUCTOSTAB.Next;
BDatos.PRODUCTOSFTAB.Next;
end;
BDatos.PRODUCTOSTAB.First;
BDatos.PRODUCTOSFTAB.First;
While Not BDatos.PRODUCTOSTAB.Eof do
begin
BDatos.PRODUCTOSTAB.Edit;
BDatos.PRODUCTOSTAB.FieldbyName('STOCK').AsFloat:=
BDatos.PRODUCTOSTAB.FieldbyName('STOCK').AsFloat -
BDatos.PRODUCTOSFTAB.FieldbyName('STOCK').AsFloat;
BDatos.PRODUCTOSTAB.Next;
BDatos.PRODUCTOSFTAB.Next;
end;
BDatos.PRODUCTOSTAB.First;
BDatos.PRODUCTOSFTAB.First;
end;
El primer Bucle compara entre las dos tablas (independiente de la cantidad de registros) si la cantidad solicitada en la TABLA2 (FORMULA) es mayor al valor en la TABLA1 (STOCK), si la cantidad es mayor, se aborta, si la cantidad es inferior sigue con el siguiente bucle, el cual descuenta entre tablas las materias primas (STOCK) necesarias...
Solo me queda que no sean visibles los recorridos por la tabla.
No se si estoy reinventando la rueda, no dudo que existan mejores formas de hacer lo expuesto, al menos me resulta perfecto y sin errores...
Atento ante cualquier comentario estare atento, Gracias!!!!