Error actualizando Recordset en vb6

Hola Experto !
Estoy en un sistema de facturación, en el proceso de anular factura, el caso es que necesito actualizar la tabla Stock para devolverle los productos que se restaron al hacer la venta, al hacer el proceso, lo que sucede es: si mi producto tiene existencia 10 y deseo devolverle 2 que vendí, TODOS los productos con existencia 10 se les suma 2 y TODOS quedan con 12, no solamente el registro que necesito, ¿esta medio raro no?
Aquí esta el código:
RsSalesDetail.Open "select * from Sales_Order_Detail where salesorderID=" & facturaNumero, CN, adOpenKeyset, adLockOptimistic
While Not RsSalesDetail.EOF
rsStock.Open "select unidades from stocks where stockID=" & RsSalesDetail.Fields("stockID").Value, myConexion, adOpenKeyset, adLockOptimistic 
rsStock.Fields("unidades").Value = CInt(rsStock.Fields("unidades").Value) + CInt(RsSalesDetail.Fields("Qty").Value)
rsStock.Update
rsStock.Close
RsSalesDetail.MoveNext
¿Wend
puedes ayudarme?

1 Respuesta

Respuesta
1
Usando parte de tu código:
Dim CadSql As String
RsSalesDetail.Open "select * from Sales_Order_Detail where salesorderID=" & facturaNumero, CN, adOpenKeyset, adLockOptimistic
While Not RsSalesDetail.EOF
    'rsStock.Open "select unidades from stocks where stockID=" & RsSalesDetail.Fields("stockID").Value, myConexion, adOpenKeyset, adLockOptimistic
    'rsStock.Fields("unidades").Value = CInt(rsStock.Fields("unidades").Value) + CInt(RsSalesDetail.Fields("Qty").Value)
    'rsStock.Update
    'rsStock.Close
    CadSql = "Update stocks set unidades = unidades + " & CInt(RsSalesDetail.Fields("Qty").Value) & " where stockid='" & RsSalesDetail.Fields("stockID").Value & "'"
    MyConexion. BeginTrans
    MyConexion. Execute CadSql,, adodb. AdExecuteNoRecords
myConexion. CommitTrans
    RsSalesDetail. MoveNext
Wend
Tendrías que probar lo que agregue.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas