Fórum Não consigo filtrar Relatorio - Rave Report #400081

30/04/2011

0

Estou usando a seguinte sintaxe para filtrar distribuições em determinado período no banco:
 RM.cdsPromotores.Close; RM.cdsPromotores.Filtered := True; RM.cdsPromotores.Filter := 'IDPROMOTOR = ' + QuotedStr(DBLookupComboBox1.KeyValue);  RM.cdsVW_DISTRIBUICAO.Filtered := True;  RM.cdsVW_DISTRIBUICAO.Filter := 'DTDISTRIBUICAO >= ' + QuotedStr(DateToStr(DateTimePicker1.Date))   + ' AND DTDISTRIBUICAO <= ' + QuotedStr(DateToStr(DateTimePicker1.Date));    RM.cdsPromotores.Open;
  RM.RvProject.SetParam('paramTitulo', FrmTituloDoRelatorio.sEdit1.Text);  RM.RvProject.ExecuteReport('distribuicoes');

O cdsPromotores é o Mestre, enquanto que o VW_DISTRIBUICAO é odetalhe, então eu filtro o mestre de acordo com o id passado e o vw_distribuicao de acordo com o periodo passado.
mais não está filtrando nada. 
Ronaldo Lanhellas

Ronaldo Lanhellas

Responder

Posts

02/05/2011

Marcelo Letteri

 RM.cdsPromotores.Close; RM.cdsPromotores.Filtered := True; RM.cdsPromotores.Filter := 'IDPROMOTOR = ' + QuotedStr(DBLookupComboBox1.KeyValue);  RM.cdsVW_DISTRIBUICAO.Filtered := True;  RM.cdsVW_DISTRIBUICAO.Filter := 'DTDISTRIBUICAO >= ' + QuotedStr(DateToStr(DateTimePicker1.Date))   + ' AND DTDISTRIBUICAO <= ' + QuotedStr(DateToStr(DateTimePicker1.Date));
Cara duas coisas...

1 - Vc esta colocando o Filtred ligado e depois liga de novo... tenta: RM.cdsPromotores.Filtered := FALSE; RM.cdsPromotores.Filter := 'IDPROMOTOR = ' + QuotedStr(DBLookupComboBox1.KeyValue); RM.cdsVW_DISTRIBUICAO.Filtered := True;
2 - Tira o QuotedStr.

Espero ter ajudado.

Abraço 
 
Responder

Gostei + 0

02/05/2011

Ronaldo Lanhellas

só uma coisa: não posso tirar o QuotedStr se não da erro de conversão. 
Porém consegui fazer funcionar, setando false no dataset antes de setar true.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar