 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
mastersoftware Aprendiz

Registrado: Sexta-Feira, 30 de Mai de 2008 Mensagens: 187
|
Enviada: Seg Fev 03, 2020 8:04 am Assunto: Duvida com acumulação, ordenação e comparação de valores |
|
|
Bom dia pessoal,
Gostaria de ajuda de vocês para a seguinte situação :
Tenho 3 laços.
While not Qry1.eof do
begin
Qry.fieldbyname('valortotal1').asfloat;
Qry1.next;
end;
While not Qry2.eof do
begin
Qry.fieldbyname('valortotal2').asfloat;
Qry2.next;
end;
While not Qry3.eof do
begin
Qry.fieldbyname('valortotal3').asfloat;
Qry3.next;
end;
Eu preciso coletar todos os valores de todos os campos, armazenar em um lugar e depois compara-los.
Exemplo :
if valortotal3 > valortotal2 and valortotal2 > valortotal1 then
showmessge('Compra OK')
Lembrando que poderei ter varios tipos e peças na mesma situação:
No resumo seria isso :
Peça 01 : 1,00 : 2,00 : 3,00 -- Compra OK, terceiro valor maior que o segundo, e segundo valor maior que o primeiro.
Peça 03 : 2,00 : 3,00 : 4,00 -- Compra OK, terceiro valor maior que o segundo, e segundo valor maior que o primeiro.
Peça 03 : 5,00 : 6,00 : 3,00 -- Compra negada terceiro valor menor que o segundo, e segundo valor maior que o primeiro.
Para compra ser verdadeira, o segundo valor tem que ser maior que o primeiro, o terceiro tem que ser maior que o segundo.
Ou seja eu precisaria incluir isso em uma matriz de dados, lembrando que o primeiro laço inclui todas peças de maneira distinta, e que o segundo laço deverá começar na posição 1, visto que trata-se do segundo preço da mesma peça, ou seja mesmo a primeira matriz de dados ja carregada, a segunda e terceira matriz, deverão iniciar da posição zero.
Falei em matriz pois vi que isso pode ma ajudar, eu até fiz uns testes, porém depois de muito quebrar a cabeça, não consegui um meio para fazer esta comparação, se alguém puder ajudar agradeço.
Obrigado à todos. |
|
Voltar ao Topo |
|
 |
mastersoftware Aprendiz

Registrado: Sexta-Feira, 30 de Mai de 2008 Mensagens: 187
|
Enviada: Seg Fev 03, 2020 5:51 pm Assunto: |
|
|
Alguem galera ? |
|
Voltar ao Topo |
|
 |
ric_rio2 Aprendiz


Registrado: Segunda-Feira, 1 de Outubro de 2018 Mensagens: 108
|
Enviada: Ter Fev 04, 2020 6:56 am Assunto: |
|
|
Bom dia...
Uma pergunta...
Você precisa de todos os DADOS ou somente dos NEGADOS?
Se sim... posso fornecer um outro tipo de abordagem.. se te servir.. legal
Eu faria um Select com join das tabelas..
Ficaria mais ou menos assim ( mais ou menos pois nao sei o nome das tabelas nem dos campos )
Código: | Select T1.Valor as Valor_T1, T2.Valor as ValorT2, T3.Valor as Valor_T3
From T1
Left outer join T2 on (T1.ID_Item = T2.ID_Item)
Left outer Join T3 on (T1.ID_Item = T3.ID_Item)
Where
(T1.Valor < T2.Valor) and
(T2.Valor < T3.Valor) |
Com isso retornaria somente os valores que fossem "NEGADOS" saca??
Dependendo do banco de dados que tu esta usando esse select tem que ser melhorado..
Espero ter conseguido explicar meu ponto de vista.. Caso tenha alguma duvida é só falar
Abraços  |
|
Voltar ao Topo |
|
 |
mastersoftware Aprendiz

Registrado: Sexta-Feira, 30 de Mai de 2008 Mensagens: 187
|
Enviada: Ter Fev 04, 2020 9:35 am Assunto: |
|
|
Bom dia,
Primeiramente obrigado pela resposta.
Estava mesmo pensando em inserir em tabelas, e tratar via select.
Você tem algo diferente disto, ou indica isso mesmo ? |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|