Problemas con Visual Basic
Hola! Tengo un problema con un programa que estoy creando en Visual Basic 6.0. Necesito cargar un valor a un campo de una base de datos en sql desde visual basic 6.0, lo esta cargando, el problema surge debido a que necesito por ejemplo cargar 20000 al campo Saldo_Anterior de todos los registros que tengan en el campo NServicio "6001", me los deja a todos en 20000, si lo vuelvo a cargar el valor 20000 me queda en 40000 y así sucesivamente, me los deja a todos iguales pero necesito que me sume 20000 al valor que ya existe en el campo, es decir, si tengo un registro con 10000 se deben sumar y quedar en 30000 y otro registro que también tenga en NServicio el valor 6001 y en Saldo_anterior tenga valor 5000 me quede en 25000, sin embargo me están quedando todos iguales de 20000 en 20000. Alguien puede ayudarme por favor o que alguien me indique como puedo recorrer la tabla registro por registro y a aquel registro que tenga en NServicio el valor 6001 sumarle un valor al campo Saldo_Anterior al valor que existe en ese campo. Esto es lo que estoy haciendo:
Dim cad As String
Set san = New ADODB.Recordset
cad = "select * from saldo_anterior "
san.Open (cad), cnn
S6001 = 20000
S6002 = 22000
S6003 = 25000
If san.EOF = False Then
san.MoveFirst
While Not san.EOF
If san!NServicio = "6001" Then
sal = S6001 + san!saldo_anterior
cad = "Update saldo_anterior Set saldo_anterior = '" & sal & "'"
cnn.Execute "Update saldo_anterior Set saldo_anterior='" & sal & "', Mes='" & Text6 & "' where NServicio = '" & 6001 & "'"
End If
If san!NServicio = "6002" Then
sal = S6002 + san!saldo_anterior
cad = "Update saldo_anterior Set saldo_anterior = '" & sal & "'"
cnn.Execute "Update saldo_anterior Set saldo_anterior='" & sal & "', Mes='" & Text6 & "' where NServicio = '" & 6002 & "'"
End If
If san!NServicio = "6003" Then
sal = S6003 + san!saldo_anterior
cad = "Update saldo_anterior Set saldo_anterior = '" & sal & "'"
cnn.Execute "Update saldo_anterior Set saldo_anterior='" & sal & "', Mes='" & Text6 & "' where NServicio = '" & 6003 & "'"
End If
San.MoveNext
Wend
End If
Dim cad As String
Set san = New ADODB.Recordset
cad = "select * from saldo_anterior "
san.Open (cad), cnn
S6001 = 20000
S6002 = 22000
S6003 = 25000
If san.EOF = False Then
san.MoveFirst
While Not san.EOF
If san!NServicio = "6001" Then
sal = S6001 + san!saldo_anterior
cad = "Update saldo_anterior Set saldo_anterior = '" & sal & "'"
cnn.Execute "Update saldo_anterior Set saldo_anterior='" & sal & "', Mes='" & Text6 & "' where NServicio = '" & 6001 & "'"
End If
If san!NServicio = "6002" Then
sal = S6002 + san!saldo_anterior
cad = "Update saldo_anterior Set saldo_anterior = '" & sal & "'"
cnn.Execute "Update saldo_anterior Set saldo_anterior='" & sal & "', Mes='" & Text6 & "' where NServicio = '" & 6002 & "'"
End If
If san!NServicio = "6003" Then
sal = S6003 + san!saldo_anterior
cad = "Update saldo_anterior Set saldo_anterior = '" & sal & "'"
cnn.Execute "Update saldo_anterior Set saldo_anterior='" & sal & "', Mes='" & Text6 & "' where NServicio = '" & 6003 & "'"
End If
San.MoveNext
Wend
End If
Respuesta de arkide
1