Datas e Valores

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Paulo_CPV
Usuário Nível 3
Usuário Nível 3
Mensagens: 178
Registrado em: 07 Mar 2013 10:27
Localização: Jacarei/SP

Datas e Valores

Mensagem por Paulo_CPV »

Bom dia!
Amigos do fórum, estou com uma dúvida é gostaria que vocês me pudessem me ajudar tenho um banco de dados .DBF que armazeno datas e valores. Gostaria de quando fizer a pesquisa fizesse a soma dos valores referentes as datas.
Exemplo:

Campo1 Campo2
11/12/2019 200,00 -> Aqui esta dando certo
12/12/2019 350,50
12/12/2019 100,00
12/12/2019 100,00 -> Aqui que eu não estou conseguindo resolver

Abraços,
Paulo - Caraguatatuba/SP
Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 765
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

Datas e Valores

Mensagem por Nascimento »

ja tentou dessa forma?

Código: Selecionar todos

Procedure Main()
local ntot := 0
local datadapesquisa := Date()
use minhabase
goto top
seek datadapesquisa // caso seja indexado por data
do while !eof()
   if datadapesquisa ==  minhabase->database 
      ntot += minhabase->campo valor
   endif
  skip
end do

wait ' O Valor Total foi " + Str(nTot)


em fim não cheguei a testar mais acho que deve ser isso que vc precisa
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20416
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Datas e Valores

Mensagem por JoséQuintas »

Assim vai ficar demorado, não está filtrando nada

Indexado por Dtos( data )

Opção A: registro a registro, só na data

Código: Selecionar todos

SEEK Dtos( data )
nTotal := 0
DO WHLE Data == dData .AND. ! Eof()
   nTotal += valor
   SKIP
ENDDO
Opção B: idem mas com SCOPE

Código: Selecionar todos

SET SCOPE TO Dtos(dData)
GOTO TOP
nTotal := 0
DO WHLE ! Eof()
   nTotal += Valor
   SKIP
ENDDO
Opção C: SUM só na data

Código: Selecionar todos

SEEK Dtos( dData )
SUM VALOR TO nTotal WHILE data = dData
Opção D: SUM com SCOPE

Código: Selecionar todos

SET SCOPE TO Dtos( dData )
GOTO TOP
SUM Valor TO nTotal
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 765
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

Datas e Valores

Mensagem por Nascimento »

verdade nobre Quintas eu fiz um pouco rapido não observei de dar um exit caso mude a data para a que foi configurada rsrs , erro de principiante rsrs
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Responder