вот самый простой на мой взгляд способ, без лишней мороки
Код:
ADOQuery.Filtered:=true;
ADOQuery.Filter:='ID_MACRO=''' +Cells[ACol,ARow]+ '''';//Фильтруем по нашему значению
if (ADOQuery.FieldByName('COLOR').AsString<>'') then Canvas.Brush.Color:=stringtocolor(ADOQuery.FieldByName('COLOR').AsString); //Устанавливаем цвет если он существует
Из этого же элемента у меня программе динамически формируется и панель палитры.