Access - Descontar stock en factura

 
Vista:

Descontar stock en factura

Publicado por Edgar M (5 intervenciones) el 24/04/2012 02:05:01
Hola Amigos,

Estoy haciendo un sistema muy sencillo para facturacion pero no eh logrado descontar los articulos facturados a mi inventario, solo funciona para uno de los articulos. Necesito de su ayuda. De antemano se los agradezco y les dejo el codigo:


Dim rst As DAO.Recordset
Dim SENTsql As String

Set rst = Me.SubART_FACTURA.Form.RecordsetClone
While Not rst.EOF
SENTsql = "UPDATE ARTICULO SET CAJAS=" & CAJAS - CANTIDAD & " WHERE ID='" & [Forms]![FACTURA]![SubART_FACTURA]![ID_ARTICULO] & "'"
CurrentDb.Execute SENTsql, dbFailOnError
rst.MoveNext


ARTICULO = Tabla donde guardo mi inventario o stock
ID = Es el campo de la tabla ARTICULO con el codigo del producto
CAJAS = Es el campo de la tabla ARTICULO donde guardo el stock

ART_FACTURA = Tabla que uso como subformulario en la factura
ID_ARTICULO = El campo de la tabla ART_FACTURA donde meto el codigo del producto
CANTIDAD = El campo de la tabla ART_FACTURA donde meto la cantidad a facturar

FACTURA = Formulario de la factura
SubART_FACTURA = Subformulario para los articulos


De antamano gracias !!
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

Descontar stock en factura

Publicado por josepf (54 intervenciones) el 24/04/2012 11:43:03
Buenas Edgar!

De entrada veo que la sentencia sql esta mal:
SENTsql = "UPDATE ARTICULO SET CAJAS=" & CAJAS - CANTIDAD & " WHERE ID='" & [Forms]![FACTURA]![SubART_FACTURA]![ID_ARTICULO] & "'"

tendria que ser:
SENTsql = "UPDATE ARTICULO SET CAJAS=CAJAS-" & CANTIDAD & " WHERE ID='" & [Forms]![FACTURA]![SubART_FACTURA]![ID_ARTICULO] & "'"

Tengo que decirte que el problema es que estàs siguiendo un recordset que es de cabecera de formulario, dónde tienes un subformulario con los articulos a descontar. Por eso solo te ejecuta para cada factura una sola vez la consulta update.

Lo que tienes que hacer es:
opcion 1: En el subformulario: Cada vez que hagas una accion: Alta, borrar, modificación, ir a actualizar el estoc. Seria la mas correcta, ya que es on-line y controlas altas, bajas y modificaciones.
Aquí también puedes informar a medida que te entren un articulo del estoc real y si hay rotura de estoc.

opcion 2:
Si haces un boton en cabecera, debes seguir el recordset del subformulario para que te haga la consulta para todos los articulos. Filtrando por nº de factura + id del articulo.

Espero que te sirva.

1Saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descontar stock en factura

Publicado por Edgar M (5 intervenciones) el 24/04/2012 18:03:03
Hola Josepf,

Primero que nada gracias por tomarte el tiempo para contestarme.

Eh corregido la sentencia sql.

Y te comento que realmente necesito hacer que se descuente el stock a traves de un boton de cabecera ya que al terminar de hacer la factura les doy la opcion de aprobar o no y es entonces cuando deberian aplicar el descuento del inventario.

Ayudame con una idea de como deberia ser el codigo para utilizar el n. de factura + el id del articulo.

Nuevamente gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descontar stock en factura

Publicado por josepf (54 intervenciones) el 02/05/2012 12:53:24
Buenas Edgar!

La sentencia seria muy facil, hay que hacer un recordset del detalle de la factura, recorrerlo y aplicar la sentencia sql para cada articulo.

UPDATE ARTICULO SET CAJAS=CAJAS-" & CANTIDAD & " WHERE ID='" & [Forms]![FACTURA]![SubART_FACTURA]![ID_ARTICULO] & "' AND IDFACTURA=" & [Forms]![FACTURA]![IDFACTURA];

Saludo2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar