Boa Noite, Pessoal!
Preciso alterar o valor de um campo de um registro com o valor do mesmo campo
de outro registro na mesma tabela. Os dois registros tem um campo "REF" com o mesmo valor.
Tenho que encontrar o 1º registro, salvar o valor do campo em uma variável, encontrar o 2º registro e salvar no campo o valor da variável. Depois, neste 2º registro, atualizar o valor de outro campo com a diferença entre o valor do campo atualizado e um 3º campo que já estava preenchido.
Depois disso, continuar buscando na tabela e repetir o procedimento acima para os outros registros que atendam a condição da consulta.
Estou usando o seguinte código:
Dim REF5 As String
Dim CUSVEN5 As String
Set Tab_Temp = bd.OpenRecordset("select * from Tab_Temp where CONTA='" & cmbConta & "' and [DIA]= #" & ValData & "# and CUSVEN=0 ")
Do While Not Tab_Temp.EOF
REF5 = Tab_Temp!REF
CUSVEN5 = Tab_Temp!LIQUIDO
Set Tab_Temp = bd.OpenRecordset("select * from Tab_Temp where REF='" & REF5 & "' and CUSVEN<>0 ")
If Not Tab_Temp.EOF Then
If Tab_Temp!TIPO = "VA" Or Tab_Temp!TIPO = "VO" Then
Tab_Temp.Edit
Tab_Temp!CUSVEN = CUSVEN5
Tab_Temp!LUCRE = Tab_Temp!TOTAL - Tab_Temp!CUSVEN
Tab_Temp.Update
ElseIf Tab_Temp!TIPO = "CA" Or Tab_Temp!TIPO = "CO" Then
Tab_Temp.Edit
Tab_Temp!CUSVEN = CUSVEN5
Tab_Temp!LUCRE = Tab_Temp!CUSVEN - Tab_Temp!TOTAL
Tab_Temp.Update
End If
End If
Tab_Temp.MoveNext
Loop
Só estou conseguindo atualizar o 1º campo (CUSVEN) do 1º registro. E pára aí.
Não atualiza o 2º campo (LUCRE) nem passa para o próximo registro.
Se alguém puder dar uma olhada nesse código e dar alguma sugestão, ficarei muito grato.
Cid