Olá pessoal, é um prazer fazer parte do Fórum Script Brasil... Seguinte... to com uma baita dor de cabeça, pois estou tentando filtrar os aniversariantes entre duas datas... então tipo... eu tenho q isolar o ano, porque quando eu digitar 01/01/2009 até 01/07/2009, o programa terá q trazer todos os aniversariante que estão entre 01/01 e 01/07, sem se importar com o ano. Tipo, se o usuário entrar com 19/06/2009 até 19/06/2009, o programa terá que retornar todos os aniversariantes do dia 19/06, sem se importar com o ano tb... Estou usando banco access... a dor de cabeça vem, que quando eu crio uma consulta diretamente no access, e uso a sql que eu estou usando... o access me retorna corretamente a consulta e tb a ordenação... No vb, eu estou usando o SQL Statement do DataEnvironment, e tipo... o vb me retorna no relatório, a consulta exata... até aí tudo ok!!! O problema, é que nem a pau eu consigo fazer uma ordenação dessa consulta... no access a consulta é ordenada do jeito que eu quero... no vb, embora ele faça a consulta, e me traga os registros completos de dentro dessa consulta, a ordenação do vb fica por ordem de data... mais tipo... ele pega assim 01/01/1955 01/02/1973 01/01/1984 ... Quando corretamente... ele deveria trazer assim... 01/01/1955 01/01/1984 01/02/1973 É como se o VB não desse a mínima para o ORDER BY Month, Day e Year que eu estou colocando... Segue abaixo a sql que eu estou usando para a consulta: SELECT NOME_DIZ, FONE_RES, FONE_CEL, NASC_DIZ FROM DIZIMISTA WHERE FORMAT(NASC_DIZ,"mm/dd") Between FORMAT(DataInicial,"mm/dd") And FORMAT(DataFinal,"mm/dd") ORDER BY Month(NASC_DIZ), Day(NASC_DIZ), YEAR(NASC_DIZ) Bom galera... é isso... se alguém puder me dar um help... serei realmente muito grato... Muito obrigado mesmo...