Access - problema con rst.Open

   
Vista:

problema con rst.Open

Publicado por Esteban (20 intervenciones) el 19/10/2007 19:14:11
Buen Dia a todos
Tengo una base de datos que me sirve para sacar inventarios de un producto, por medio de una kardex, la cual la realize tomando ejemplo de la base "Movimientos de Almacen" que tienen aqui en la pagina, pasaron como 6 meses y la kardex funcionaba bien, pero despues me di cuenta de un error, los saldos no coincidian con las cantidades, por ejemplo:

Se realiza una factura de alguno de los productos y esos datos los copia a la kardex, despues cuando uno ingresa a la kardex se van actualizando los registros, pero lo malo es que los saldos no me los tira bien digamos
producto control linea operacion entrada salida saldo
1 1 1 Ingreso 1000 1000
1 2 2 Factura 2 2000 1500
1 3 3 Factura 3 500 2000

bueno algo asi me tira en el subformulario, el campo producto hace referencia al codigo del producto del cual se esta haciendo inventario, control es la clave principal, linea se utiliza para ordenar los datos,en fin descubri que si se ordenan los datos solo por producto me tira bien los saldos, pero pone las facturas desordenadas, para eso existe el campo linea para ordenar por producto y linea y asi que pueda tirar bien los saldos.

'Recálculo al introducir Entradas y Salidas
Private Sub Recalculo()
Dim CalculoExist As Double
Set rst = New ADODB.Recordset
Set cnn = Application.CurrentProject.Connection
rst.Open "SELECT * From MOV_KAR_DETALLE_KARDEX where PRODUCTO=" & Codigo, cnn, adOpenDynamic, adLockOptimistic
CalculoExist = 0

'Actualiza las Existencias parciales en la tabla Movimientos
While Not rst.EOF
rst!SALDO = CalculoExist + (rst!ENTRADA - rst!SALIDA)
rst.Update
CalculoExist = rst!SALDO
rst.MoveNext
Wend

'Actualiza las Existencias Finales de un producto en la tabla Productos
Set rst1 = New ADODB.Recordset
rst1.Open "SELECT * From TC_PRO_PRODUCTO where PRODUCTO=" & Codigo, cnn, adOpenDynamic, adLockOptimistic
rst1!ExistenciaActual = CalculoExist
rst1.Update

'Cierra la Conexión y los Recordset
rst.Close: Set rst = Nothing
rst1.Close: Set rst1 = Nothing
cnn.Close: Set cnn = Nothing
End Sub

Este es el codigo principal para tirar el saldo, lo que yo quiero es que cuando me hale el dato anterior para sumarselo a la resta del ingreso menos el egreso, ordene los datos por producto y linea.

No se si me explique bien pero gracias de Antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder