Imprimir apenas registros desejados.
01/10/2004
0
´ Imprimir ´ esteja marcado como ´Sim´.
E também quando este registro for impresso ele saia do DbGrid, sem que saia da minha tabela.
Será que alguém pode me ajudar nesta?
Elmarinho.
P.S
Trabalho com Interbase e os componentes são IbTable e IbQuery.
Peninha
Posts
01/10/2004
Aroldo Zanela
Usando a query abaixo vai produzir o resultado que você deseja. Após efetuar a atualização (Imprimir := ´Não´), basta fechar e abrir a query novamente.
select * from tabela where imprimir = ´Sim´
04/10/2004
Peninha
Peninha.
04/10/2004
Danielclubedelphi
É exatamente o que o Aroldo disse...
04/10/2004
Peninha
begin With DmBasedados.IBQ_NotaFatura Do Begin Close; Sql.Clear; Sql.Add(´Select * From Tab_NotaFatura Where Numero_Fatura =:ParamNumFatura´); Sql.Add(´Where Imprimir = S´); ParamByname(´ParamNumFatura´).AsInteger:=DbGrid1.Fields[0].asInteger; Open; DmBasedados.IBTab_NotaIMPRIMIR.AsString:=´N´; Close; End;
Só que não esta funcionando.
Causa um erro com o commando WHERE.
Peninha.
04/10/2004
Aroldo Zanela
Não entendi exatamente seu código, mas o erro em relação ao WHERE e a existência de duas declarações e falta do operador AND.
Exemplo:
begin With DmBasedados.IBQ_NotaFatura Do Begin Close; Sql.Clear; Sql.Add(´Select * From Tab_NotaFatura Where Numero_Fatura =:ParamNumFatura´); Sql.Add(´and Imprimir = ´ + QuotedStr(´S´)); ParamByname(´ParamNumFatura´).AsInteger:=DbGrid1.Fields[0].asInteger; Open; DmBasedados.IBTab_NotaIMPRIMIR.AsString:=´N´; Close; End;
04/10/2004
Peninha
Tenho uma Tabela um form que gera as notas a serem impressas. Em outro form tenho um DbGrid que mostra mostra todas as notas geradas, mas gostaria que o DbGrid mostrasse apenas as notas que o ´campo´ Imprimir estivessem marcadas com o ´S´ as que estiverem marcadas com ´N´ não seria preciso mostrar. E mais, todas as notas que forem mandadas para impressão saissem do DbGrig, ou seja, se não houver notas marcadas com o campo ´Imprimir´ em ´S´ então o DbGrid tem que estar limpo sem apresentar nenhum registro.
Já tentei algums formas de Query mas não consegui.
Se ainda não fui claro, favor pedir mais detalhes.
Peninha.
04/10/2004
Otto
Query1.Close; Query1.SQL.Text := ´select * from tabela where imprimir = ´+QuotedStr(´S´); Query1.Open
funcionou?!
06/10/2004
Peninha
Fiz desta forma:
DmBasedados.IBQ_NotaFatura.Close; DmBasedados.IBQ_NotaFatura.SQL.Clear; DmBasedados.IBQ_NotaFatura.SQL.Add(´Select * From Tab_NotaFatura Where Imprimir=´S´´); DmBasedados.IBQ_NotaFatura.SQL.Add(´Select * From Tab_NotaFatura Where Imprimir=´S´ And Impresso=´N´´); DmBasedados.IBQ_NotaFatura.Refresh; Open;
E também não funcionou, não consigo nem se quer rodar o programa.
Gera este erro.
Peninha
06/10/2004
Rjun
DmBasedados.IBQ_NotaFatura.Close;
DmBasedados.IBQ_NotaFatura.SQL.Clear;
DmBasedados.IBQ_NotaFatura.SQL.Add(´Select * From Tab_NotaFatura Where Imprimir=´´S´´´);
DmBasedados.IBQ_NotaFatura.SQL.Add(´Select * From Tab_NotaFatura Where Imprimir=´´S´´ And Impresso=´´N´´´);
DmBasedados.IBQ_NotaFatura.Refresh;
Open;
06/10/2004
Peninha
With DmBasedados.IBQ_NotaFatura Do Begin Close; Sql.Clear; Sql.Add(´Select * From Tab_NotaFatura Where Nome_RazaoSocial =:ParamNome´); ParamByname(´ParamNome´).AsString:=DbGrid1.Fields[0].AsString; Open; End; DbGrid1.Fields[0].Clear; Application.CreateForm(TFrmRel_NotaFatura,Frmrel_NotaFatura); FrmRel_NotaFatura.QuickRep1.Preview;
Só que ele esta limpando o conteudo do meu campo na minha tabela.
Quando vou la tabela, esta sem o nome do cliente.
Peninha.
06/10/2004
Kenshindigital
begin With DmBasedados.IBQ_NotaFatura Do Begin Close; Sql.Clear; Sql.Add(´Select * From Tab_NotaFatura Where (Numero_Fatura =:ParamNumFatura)and (Imprimir = ´´S´´)´); ParamByname(´ParamNumFatura´).AsInteger:=DbGrid1.Fields[0].asInteger; Open; DmBasedados.IBTab_NotaIMPRIMIR.AsString:=´N´; Close; End;
Clique aqui para fazer login e interagir na Comunidade :)