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.
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
Curtir tópico
+ 0
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
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.
Porém consegui fazer funcionar, setando false no dataset antes de setar true.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)