Как я понял у вас существует логическая связь ADOQuery1.FieldByName('Код') = ADOQuery4.FieldByName('Код') и вы хотите выполнить ваш код для всех записей из Query1?
1. Вместо ручного поиска записи по Locate воспользуйтесь механизмом Мастер-Деталь. Что это такое и как делать найдете.
2. А обход записей делается так:
Код:
While not Query1.Eof
do begin
//Помещаете сюда ваш блок кода
end;