Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Edersigner

Como buscar valor final anterior !

Recommended Posts

Estou precisando buscar um valor final do dia anterior, para que apareça no valor inicial do dia atual, fiz este select no banco :

 

Código: Select resumo.gtf as GTF From resumo Where Data = data

e me retornou todos os valores finais, como posso trazer na aplicação, o valor final referente ao dia anterior para cada caixa.

Exemplo:

 

Caixa nº 1 do dia 17/03/2007 valor final R$ 1200,00

Caixa nº 1 do dia 19/03/2007 valor inicial R$ 1200,00 esse valor que precisa aparecer automaticamente no DBEdit, e que estou com problemas, se fizeram algo parecido preciso de ajuda .

 

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o SQL, abre a query e depois atribui ao campo da tabela, tipo:

 

qry.Close;qry.SQL.Clear;qry.SQL.Add('Select resumo.gtf as GTF');qry.SQL.Add('From resumo');qry.SQL.Add('Where Data = data');qry.Open;if not qry.IsEmpty then	tabelaCAMPO_DESEJADO.Value:=qry.FieldByName('GTF').Value;qry.Close;

Pois o DBEdit é ligado a um campo, e é para este campo que deve de atribuir o valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o seguinte

 

Select codcaixa, data, resumo.gtf as GTF From resumo Where Data = data-1 order by codcaixa, data

no banco não deu erro, mas retornou valore nulos. ok

 

 

depois fiz isto

 

procedure TformResumo.dbGTIEnter(Sender: TObject); begin   inherited;   IBDataset1.Close;   IBDataset1.ClearFields;   IBDataset1.SelectSQL.Add('select resumo.gtf as GTF');   IBDataset1.SelectSQL.Add('from resumo');   IBDataset1.SelectSQL.Add('where data =data-1');   IBDataset1.SelectSQL.Add('order by codcaixa,data');   IBDataset1.Open;   if not IBDataset1.IsEmpty then   begin 	IBDataset1GTI.Value := IBDataset1.FieldByName('GTF').Value; 	IBDataset1.Close;   end; end;

dá o seguinte erro : IBDataset1 not in edit or insert mode

 

 

Não sei o que fazer !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente... esse erro ocorreu por causa dessa linha:

 

IBDataset1GTI.Value := IBDataset1.FieldByName('GTF').Value;

 

 

Você gostaria que ese valor fosse exibido onde?

 

Bom, explique melhor, pois acho que o que o amigo Márcio falou se encaixa perfeitamente... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você atribuir o valor, precisa antes editar e depois salvar:

 

IBDataset1GTI.Edit;IBDataset1GTI.Value := IBDataset1.FieldByName('GTF').Value; IBDataset1GTI.Post;IBDataset1GTI.Close;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hugo, esse valor tem que ser exibido no DBEdit Valor Inicial = dbGTI, no exemplo do Márcio, ele utilizou uma Query eu estou usando IBDataset , não sei se tem diferença, só que não está dando certo, estou colocando o codigo no evento onEnter do DBEdit, um exemplo, gostaria que retornasse o valor do GTF do PDV nº 1 dia 25/03/2007 já gravado no banco (Firebird) para o GTI do PDV nº 1 dia 26/03/2007 , como fosse uma sequencia entende........ * GTI = Grande Total Inicial* GTF= Grande Total Final

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.