Hola Helg17. Bienvenido a los foros.
Te recomiendo que antes de seguir revises la Guía de estilo. También sería bueo que intentaras dedicarle tiempo a escirbir tus preguntas (dando más datos) y que las escribieras de forma "normal".
En cuanto a tu pregunta, entiendo que quieres modificar un registro del primer DBGrid con lo que seleciconas en el segundo.
Lo más imprtante aquí, es que pienses en fuentes de datos (Tablas,Querys) y no directamente en Grids. Cada Grid debe tener asociada una Tabla, así que debes pensar cómo modificar el registro de la Tabla1 con lo que tienes seleccionado en la tabla2 (productos).
Para acceder a lo que tienes seleccionado en el segundo Grid basta con que hagas...
Código Delphi
[-]
Tabla2.FieldByName('CodigoProd').AsInteger;
Tabla2.FieldByName('CodigoProd').AsString;
Tabla2.FieldByName('DescProd').AsInteger;
...
Y para acceder al registro seleccionado del primer Grid puedes hacer algo similar:
Código Delphi
[-]
Tabla1.FieldByName('Codigo').AsInteger;
...
Para hacer la asignación que pides, bastaría con algo similar a esto:
Código Delphi
[-]
Tabla1.FieldByName('Codigo').AsInteger := Tabla2.FieldByName('CodigoProd').AsString;
De la misma forma con cualquier otro campo de la misma tabla.