Blz, mas dá uma olhada na função que te mandei. Ela dá um efeito diferente pois muda a cor do titulo da coluna ordenada no DBGrid.
[]s Walter Alves Chagas Junior Belo Horizonte - MG - Brazil wchag...@bol.com.br http://www.geocities.com/SiliconValley/Bay/1058 http://delphitocorporerm.blogspot.com/ MSN: whitesock...@hotmail.com SKYPE: WalterChagasJr Em 18/08/2009 15:11, gugavolcom < gugavol...@hotmail.com > escreveu: Galera, resolvi meu problema, graças à Deus: usei praticamente a mesma base de código de antes, somente coloquei uma variável global(texto) recebendo o valor do sql do adoquery após ele ser inserido na propriedade sql do adoquery, e não após ser executado, daí funcionou: procedure Tfrmconsfornecedor.DBGrid1TitleClick(Column: TColumn); var campo:string; cons:string; begin if texto = '' then //testa se a variável recebeu algum resultado cons := 'select * from produto' else cons := texto; campo:=column.fieldname; // CAMPO RECEBE O NOME DA COLUNA CLICADA, application.processmessages; // para considerar algo que aconteça no dbgrid durante a entrada nesta procedure qconsulta.sql.clear; // LIMPA A QUERY qconsulta.sql.add(cons +' order by '+campo); // ESCREVE O SELECT COM O ORDER BY qconsulta.Open; // ABRE A QUERY COM A ORDEM ESCOLHIDA. lblordenado.caption:='Classificado por : [ '+Column.Title.Caption+' ]'; end;