Спасибо огромное, ругался на синтаксис, после доработки Работает.
+ решено было использовать временную таблицу. в итоге получилось следующее:
procedure FrmOne_Button23_OnClick (Sender: TObject; var Cancel: boolean);
var i : integer;
s : string;
begin
// Задаём переменную (год из календаря)
s := (copy(FrmOne.DTP_PayRoll_Year.sqlDate, 2, 4));
// Удалить временную таблицу
SQLExecute('DROP TABLE IF EXISTS TemPay');
// Создать временную таблицу со столбцами....
SQLExecute('CREATE TEMPORARY TABLE TemPay (id INTEGER NOT null PRIMARY KEY ASC AUTOINCREMENT, RecipientPay TEXT, Transf REAL)');
// Заполнить временную таблицу. при привышении лимита
SQLExecute ('insert into TemPay (RecipientPay, Transf) SELECT RecipientPay, IfNull(Sum(TblPayRoll.Transfer), 0) FROM TblPayRoll WHERE Mounth LIKE "'+s+'-%" GROUP BY RecipientPay HAVING IfNull(Sum(TblPayRoll.Transfer), 0) > 240000 ');
// Если во временной таблице есть хоть одна запись
if SQLExecute('Select COUNT(id) FROM TemPay') > 0 then
begin
ShowMessage ('Есть получатели с превышением максимального порога');
// задаём цикл
for i := 0 to FrmOne.TG_PayRoll.RowCount-1 do
// ищем совпадения по TG и TT
If (FrmOne.TG_PayRoll.Cells[17,i] = SQLExecute('SELECT RecipientPay FROM TemPay Where RecipientPay = "'+FrmOne.TG_PayRoll.Cell[17,i].AsString+'" '))then
// Раскрашиваем
frmOne.TG_PayRoll.Cell[17,i].Color := $FF00E2;
end
end;