
Sentencia para Sumar y Regrabar
Publicado por Daniel (13 intervenciones) el 26/09/2008 23:13:02
Hola a todos, mi inquietud es la siguiente:
Tengo un proceso de DEPURACION que hace lo siguiente:
1) SELECT de los campos que cumplan una determinada condicion (un cliente y todos sus movimientos con fecha menor o igual a la de proceso).
2) despues un WHILE donde sumo en una variable el contenido de una columna y marco un campo para saber que ese registro ya se procesó, para en un proceso posterior eliminarlo y copiarlo a otra tabla.
Mi pregunta es la siguiente:
Se podrá hacer todo esto en una sentencia SQL para acelerar el proceso?, ya que son muchos registros
*********************************************************************************************
El codigo en cuestion es el siguiente:
Rs.Open "SELECT * FROM MOVIMIENTOS WHERE COD_CLIENTE = " & CLIENTE & " AND FECHA_MOV <= '" & dtpFecha & "', Con, adOpenForwardOnly, adLockOptimistic
If Not Rs.EOF Then
Rs.MoveFirst
Do While Not Rs.EOF
adeuda = adeuda + Rs!IMPORTE
Rs!Depura = "D"
Rs.Update
Rs.MoveNext
Loop
End If
*********************************************************************************************
MUCHAS GRACIAS si alguien contesta esta consulta.
Tengo un proceso de DEPURACION que hace lo siguiente:
1) SELECT de los campos que cumplan una determinada condicion (un cliente y todos sus movimientos con fecha menor o igual a la de proceso).
2) despues un WHILE donde sumo en una variable el contenido de una columna y marco un campo para saber que ese registro ya se procesó, para en un proceso posterior eliminarlo y copiarlo a otra tabla.
Mi pregunta es la siguiente:
Se podrá hacer todo esto en una sentencia SQL para acelerar el proceso?, ya que son muchos registros
*********************************************************************************************
El codigo en cuestion es el siguiente:
Rs.Open "SELECT * FROM MOVIMIENTOS WHERE COD_CLIENTE = " & CLIENTE & " AND FECHA_MOV <= '" & dtpFecha & "', Con, adOpenForwardOnly, adLockOptimistic
If Not Rs.EOF Then
Rs.MoveFirst
Do While Not Rs.EOF
adeuda = adeuda + Rs!IMPORTE
Rs!Depura = "D"
Rs.Update
Rs.MoveNext
Loop
End If
*********************************************************************************************
MUCHAS GRACIAS si alguien contesta esta consulta.
Valora esta pregunta


0