Ir para conteúdo
Fórum Script Brasil
  • 0

filtrar relatório


Guest --andré --

Pergunta

Guest --andré --

eu uso uma AdoQuery nela coloco a sintaxe sql para filtrar o relatório coloco no data set do datasetconnection o nome da query mas o relatório exibe todos os registros parece não estar passando pelo filtro o codigo que uso é esse alguém pode me ajudar

with IBQacervo2 do

begin

IBQacervo2.close;

IBQacervo2.SQL.Clear;

IBQacervo2.SQL.Text := 'SELECT * from "acervo" t1 , "marca" t2, "grupoacervo" t3, "material" t4'

+ ' where t1."MarcaCod" = t2."MarcaCod" and t1."GrupoAcCod" = t3."GrupoAcCod" and t1."MaterialCod" = t4."MaterialCod" '

+ ' and t1."DataCadastro" >= ''' + FormatDateTime ('dd/mm/yyyy', DataIni.Date)

+ ''' and t1."DataCadastro" <= ''' + FormatDateTime('dd/mm/yyyy', DataFim.Date) + '''';

if (ednome.Text <> '') then

IBQacervo2.SQL.Text := IBQacervo2.Sql.Text + ' and t1."Nome" like ''%' + ednome.Text + '%''';

if (edgrupo.text <> '')then

IBQacervo2.SQL.Text := IBQacervo2.Sql.Text + ' and (t1."GrupoAcCod" like ''%' + edgrupo.Text + '%'' or t3."Descricao" like ''%' + edgrupo.Text + '%'')';

if (edmaterial.Text <> '')then

IBQacervo2.SQL.Text:= IBQacervo2.Sql.Text + ' and (t1."MaterialCod" like ''%' + edmaterial.Text + '%''or t4."Descricao" like ''%' + edmaterial.text +'%'')';

if (edmarca.text <> '')then

IBQacervo2.SQL.Text := IBQacervo2.Sql.Text + ' and (t1."MarcaCod" like ''%' + edmarca.Text + '%'' or t2."Descricao" like ''%' + edmarca.Text + '%'')';

IBQacervo2.prepare;

IBQacervo2.open;

RvPacervo1.ProjectFile := 'J:\pj\DiskTem\andre2\fontes\Delphi\relatórios\Pacervo.rav';

RVDSCAcervo1.DataSet := IBQacervo2;

// RVDSCAcervo1.DataSet.Open;

// RvPacervo1.close;

RvPacervo1.Execute;

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

eu uso uma AdoQuery nela coloco a sintaxe sql para filtrar o relatório coloco no data set do datasetconnection o nome da query mas o relatório exibe todos os registros parece não estar passando pelo filtro o codigo que uso é esse alguém pode me ajudar

Olhe a diferença:

IBQacervo2.SQL.Text := IBQacervo2.Sql.Text + ' and t1."Nome" like ''%' + ednome.Text + '%''';

IBQacervo2.SQL.Append( ' and t1."Nome" like ''%' + ednome.Text + '%''' ');

com relação a sql, sugiro voce usar o break point com o debugger do delphi para poder acompanhar no codigo, quais os valores que estão sendo atribuidos as variaveis.

se não souber como usar, procure no forum pelas palavras debugger ou break

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...