Control de Stock

Mi consulta es referente a una planilla en Access que lleva el stock (más bien una lista de productos con precio de lista y de compra) y con la que saco presupuestos de venta de productos y alguna que otra consulta.
Bien, lo que yo quisiera poder hacer es que cuando hago una venta poder descontar los artículos que vendo en un formulario, y así poder tener cada vez que hago un presupuesto (o una venta) el stock actualizado.
¿Se puede hacer?

1 respuesta

Respuesta
1
Partimos de una tabla articulo con un campo Referencia (clave única) y un campo StockActual.
Tenemos un formulario donde se introducen las ventas.
Bien, yo el artículo lo tengo encapsulado en una clase CArticulo. Y tengo un método CambiaStock(Unid as integer) que disminuye o aumenta el stock del artículo dependiendo de si Unid es positivo o negativo.
Bien, un usuario introduce una venta (los conceptos/artículos que van en esa venta se graban en la tabla conceptos).
Al cerrar el formulario recorremos la tabla de conceptos y hacemos lo siguiente
Dim Datos as database, RsConcepto as recordset
dim Articulo as new CArticulo
SEt datos=dbengine.workspaces(0).opendatabase("datos.mdb")
set Rsconcepto=datos.openrecordset("SElect Referencia,UnidVendidas from Conceptos where NumVenta=" & [Nº de Venta Actual])
rsconcepto.movefirst
while not rsconcepto.eof
articulo.ref=rsconcepto!referencia
articulo.cambiastock(-1*rsconcepto!unidvendidas)
rsconcepto.movenext
wend
rsconcepto.close:set rsconcepto=nothing
datos.close:set datos=nothing
set Articulo=nothing
Con esto hemos disminuido el stock de los artículos en la venta, pero surge el siguiente problema.
Un usuario hace hoy una venta y damos de baja los artículos en el almacén.
Pero mañana modifica esa venta (en vez de cinco unidades de un artículo son 12 por ejemplo).
Si volvemos a dar de baja los artículos descuadramos el stock.
Yo tomo la siguiente solución
Cuando entra el usuario a modificar una venta, doy de alta de nuevo los artículos en el almacén (como dar de baja pero sin multiplicar por -1) y cuando cierro los vuelve a dar de baja, si no hay ningún cambio en la venta no pasa nada. Y si lo hay, automáticamente queda el almacén cuadrado da igual que modifique las unidades vendidas o que incluso borre una linea del albarán de ventas o introduzca una nueva.
La respuesta me ayudo a plantear una solución. Pero debo aclarar que no se mucho del código de Access, por lo que se me va a dificultar llevarla a cavo, pido perdón por no haber finalizado la pregunta en tiempo, pero desconocía el sistema, gracias por la ayuda y si no te molesta, me gustaría que me sugirieras un buen libro del cual poder aprender a programar en el código de Access, gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas