Hola:
En ese caso, sobre el campo CODIGO, en su evento OnChange(*) haces algo así:
Código:
procedure CampoCodigoChange ;
begin
// Buscar en tabla de Productos (mediante SQL, o con los métodos
// Locate o FindKey) el nombre del produto que se acaba de introducir.
// Obtenido el valor de NOMBRE_PRODUCTO, lo asignas al campo
// correspondiente:
Tabla.FieldByName('NOMBRE_PRODUCTO').AsString := ResultadoBusqueda;
end;
(*) Si has definido los campos de la tabla como persistentes, de modo que los puedas ver en diseño mediante el editor que lleva el TTable, verás ese evento OnChange en cada campo.
Espero que te sirva esta explicación por encima ...