Página 1 de 1
somando
Enviado: 02 Abr 2006 19:02
por PITERGALDIANO
boa noite
qual a melhor rotina para fazer a soma de um determinado campo em um DBF
Obrigado
Enviado: 02 Abr 2006 19:55
por evaldo
Para somar um determinado campo com melhor desempenho, vc tem que criar um chave para esse campo EX.
Código: Selecionar todos
INDEX ON DTOS(DATA) TO PEDIDO
@ 10,10 SAY "Informe a Data : " GET vData PICTURE "@D"
READ
//
SELECT Pedido
SET ORDE TO 1
Pedido->(DbSeek(DTOS(vData)))
//
nTotal := 0
DO WHILE !EOF() .AND. DTOS(Pedido->data) == DTOS(vData)
nTotal += Pedido->valor
SKIP
ENDDO
ok
Enviado: 03 Abr 2006 10:46
por alaminojunior
Voce tambem pode (caso esteja usando Clipper 5.3) usar o comando Set Scope To
Detalhe: O indice em questão tem de ser o critério do que se quer somar, por exemplo:
use contas_correntes shar new
index on codigo tag clientes to indc_c
Set Scope to codigo // abrange somente contas ref aquele codigo
valor:= 0
do while !eof()
valor = valor+c_c
enddo
Não se esqueça de emitir um Set Scope To depois, para voltar a abranger todo o dbf