Filtro Temporário

Delphi

31/05/2006

Pessoal, gostaria de criar um filtro temporário na seguinte forma:

Tenho um DBGrid onde voce seleciona um item de cada vez, que aparece em outro form, para poder alterar a quantidade e o valor. após clicar no botão OK gostaria que ele fosse para um lugar temporário para que possa ser impresso.

Tentei criar um campo logico na tabela (PARADOX) para quando clicado no botão OK ele alterasse esse valor para true, só que quando fecha a aplicação ele permanesse true o que não pode. pensei em varrer toda a tabela alterando para false o campo quando fechasse a aplicação, mas se desligar o PC ia dar me***.

Como posso criar uma lista temporária para que a query mostre os itens a serem impressos ?


Vagner.oliveira

Vagner.oliveira

Curtidas 0

Respostas

Vagner.oliveira

Vagner.oliveira

31/05/2006

Consegui fazer uma tabela temporária utilizando o componente [b:630f0d95ef]TCLientDataSet[/b:630f0d95ef] como mostrado no link: [url]http://forum.devmedia.com.br/viewtopic.php?t=72203&highlight=tabela+temporaria&sid=a1ab2f47825ae941bd462aa8f5b8c83e[/url]

O problema é que não conseigo fazer os componentes do quick report colocarem todos os itens inseridos para serem impressos, ele só poe o último adicionado.
Segue o código que estou usando:
// Adicionar Produtos
if (f_inserirnota.db_codproduto.visible=true) then
        begin
        f_quickrep.cds_impressao.Insert;
        f_quickrep.cds_impressao.FieldByName(´CodProduto´).AsString:=db_codproduto.caption;
        f_quickrep.cds_impressao.FieldByName(´DiscriminacaoProduto´).AsString:=db_disciminacao.caption;
        f_quickrep.cds_impressao.FieldByName(´ClassFiscal´).AsString:=db_classificacao.caption;
        f_quickrep.cds_impressao.FieldByName(´Tipo´).AsString:=db_tipo.caption;
        f_quickrep.cds_impressao.FieldByName(´Quantidade´).AsString:=e_quantidade.text;
        f_quickrep.cds_impressao.FieldByName(´ValorUnitario´).AsString:=e_valorUN.text;
        f_quickrep.cds_impressao.FieldByName(´ValorTotal´).AsString:=l_total.caption;
        f_quickrep.cds_impressao.Post;

                if (rb_entrada.Checked=true) then
                begin
                f_quickrep.qr_es.Caption:=´Entrada´;
                end else
                f_quickrep.qr_es.Caption:=´Saida´;
        end;
        f_inserirnota.close;
.
.
.


No QuickReport tenho estou utilizando os componentes [b:630f0d95ef]QRDBText[/b:630f0d95ef], dentro de um [b:630f0d95ef]QRBand[/b:630f0d95ef] que está setado como [b:630f0d95ef]rbDetail[/b:630f0d95ef]. O [b:630f0d95ef]TCLientDataSet[/b:630f0d95ef] está apontado para um [b:630f0d95ef]DataSource[/b:630f0d95ef] que aponta para os [b:630f0d95ef]QRDBTexts[/b:630f0d95ef]. Coloquei um [b:630f0d95ef]DBGrid[/b:630f0d95ef] para ver se estava sendo adicionado os itens na tabela temporária e estão. Só não sei porque aparece o último item apenas enquanto que com uma query aparece um abaixo do outro.

[color=red:630f0d95ef][b:630f0d95ef]** NOTA ** Não sei como utilizar a query para filtrar os dados do TCLientDataSet[/b:630f0d95ef][/color:630f0d95ef]


GOSTEI 0
Vagner.oliveira

Vagner.oliveira

31/05/2006

UP

Pessoal, alguem tem de alguma outra forma de como eu resolvo este problema :( :( :(


GOSTEI 0
POSTAR