ACUMULAR VALOR EM LOOP

ELUCIMAR 21/06/2004 15:39:48
#30553
Ola Caros Colegas!

Estou com um pequeno problema na exportação de um Recordset para um arquivo texto. Estou fazendo o seguinte:
Tenho uma Variavel QuantReg que vai acumulando a quantidade de registro em um Loop e tambem outra SomaValor esta acumula a soma de um campo do Recordset.
Quando a varialvel QuantReg atinge 40 registros ai eu gravo a Variavel SomaValor no Rodape da pagina do arquivo Texto e tambem dou uma quebra de pagina no arquivo texto.
Só que a variavel SomaValor não está acumulando os valores. Veja o meu código:

Dim Cnn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Numero As String
Dim codigo As String
Dim Valor As String
Dim QuantReg As Integer
Dim SomaValor As Single

Numero = "Numero Nf"
Codigo = "Codigo Fornecedor"
Valor = "Valor Produto"

Set Cnn = New ADODB.Connection
With Cnn
.Provider = "SqlOledb"
.Properties("Data Source") = NomeServidor
.Properties("Initial Catalog") = NomeBanco
.Properties("User Id") = NomeUsuario
.Properties("Password") = SenhaUsuario
.CursorLocation = adUseClient
.ConnectionTimeout = 15
.Open
End With

Set Rs = New ADODB.Recordset
Rs.Open "Teste", Cnn

Open "C:\windows\desktop    este.txt" For Output As 1#
Print #1, Tab(0); Numero; Tab(12); Codigo; Tab(40); Valor 'Imprime Cabeçalho


With Rs
.MoveFirst
Do While Not Rs.EOF
QuantReg = QuantReg + 1
SomaValor = !Valor + !Valor ' Aqui está o problema a variavel Somavalor não está acumulando o saldo
Print #1, Tab(0); !NumeroNf; Tab(12); !Codigo; Tab(40); !Valor

If QuantReg = 40 Then ' Quando o registro for 40
Print #1, SomaValor
Print #1, vbFormFeed ' Insire uma quebra de pagina no Txt
Print #1, Tab(0); Numero; Tab(12); Codigo; Tab(40); Valor 'Imprime Cabeçalho
QuantReg = 0 'Zera a Variavel
SomaValor = 0 'Zera a Variavel
End If

.MoveNext
Loop
.close
End With
Close 1#

Dede já obrigado quem puder me auxiliar neste problema.
LCSD 21/06/2004 15:41:29
#30554
Resposta escolhida
TEste fazer assim, na linha que VC identificou estar errada:

SomaValor=SomaValor+!valor

Igual a sua linha de cima ao que está dando o erro!
Tópico encerrado , respostas não são mais permitidas