Es que hay muchas formas de hacerlo y no sabemos cómo lo estás haciendo tú.
Supongamos que grabas el registro desde delphi/builder.
Código SQL
[-]insert into afiliacion (codproveedor, nombre) values (45,'Alguien')
El trigger before insert sabe qué código de proveedor estás grabando, el 45, no tienes que hacer nada.
Ummm... sigo sin entender el problema