Não mostra valor do campo

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

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

Não mostra valor do campo

Mensagem por Paulo_CPV »

Boa Tarde!

Estou com mais uma dúvida que está me dando uma dor de cabeça, ou eu não estou vendo o erro que estou cometendo. Estou tentando fazer a somatória de valores, tem os valores no campo mas está dando somente zero, o que eu devo mudar para resolver este problema. Segue trecho do código:

Código: Selecionar todos

   LOCAL Soma01 , cMes , aValor , i , j , cCompetemcia

   ::AbrirArquivo( "Db0004" , "IndValor" , 4 , "Fluxo" )
// ::AbrirArquivo( "Db0006" , "IndGrf" , 6 , "Grafico")
   
   Soma01 := 0
   cMes   := "01/2009"

   Fluxo->( DBSetOrder(2) )
   Fluxo->( DBGOTOP() )

   cCompetemcia := Fluxo->C_000 <- Competência 

   Fluxo->( DBSetOrder(3) )
   
   COUNT TO nRegistro FOR cCompetemcia == cMes

   aValor := ARRAY(nRegistro)
   
   FOR i = 1 TO nRegistro
   
      aValor[i] := Fluxo->C_003 <- Campo com os valores

   NEXT i
   
   FOR j = 1 TO nRegistro
   
      Soma01 := Soma01 + aValor[j] <- Aqui só está dando zero
      
   NEXT j

_MSG(Transform(Soma01,"@R 999.999.999.99"),"Teste") <- Mostra resultado
RETURN NIL
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Não mostra valor do campo

Mensagem por Toledo »

Paulo_CPV escreveu:uma dúvida que está me dando uma dor de cabeça, ou eu não estou vendo o erro que estou cometendo
Amigo, o melhor nestes casos é analisar o código linha-a-linha.

Código: Selecionar todos

COUNT TO nRegistro FOR cCompetemcia == cMes
Este comando acima vai passar registro por registro do banco de dados para fazer a contagem e no final, além de retornar o número de registros que satisfaz a condição, o ponteiro do registro vai para o último registro mais um. Então EOF() vai retornar verdadeiro e como o ponteiro vai estar em um registro em branco (último registro+1), o campo Fluxo->C_003 vai estar zerado.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder