Acredito que o erro esta aqui, " Vencimento >=:pInicial and Vencimento <=:pFinal", o q é esse dois pontos ':' ?, faltou fechar aspas no final, esse '+' o q ta fazendo? Dm.QImpressao.SQL.Text := ('select * from Cad_Cheque where Vencimento >=:pInicial and Vencimento <=:pFinal order by +titulocheque);