Saludos me llamo Juan Carlos no sé cómo crear un código de access que me actualice el inventario cuando venda un producto

estoy recién ingresando aquí esperando que me ayuden con este proyecto que ya casi finalizó pero me he trancado en el proceso de crear una acción que cuando realice una venta automática me descuente la cantidad del inventario, me copié un código que recomendó un compañero de este grupo, pero al hacer clip en el botón de guardar la venta me pide los parámetros de toda la expresión, no sé si me explique bien pero el código que intente adaptar a mi base datos es este: doccmd.runsql "update inventarios set cantidad_en_exhibicion-cant where fk_idproductos=forms!tbl_detallefactura!cl_detalleventa.form!fk_idproductos.....

Respuesta
1

En la instrucción no le dices a que quieres que te actualice el campo. Tendrías que poner algo como

..... set cantidadexhibicio=cantidadexhibicion-cantvendida where...

Por ejemplo, tengo la tabla Productos, donde puedes ver que el Te tiene 95 unidades.

También tengo un formulario Ventas con un subformulario DetalleVenta

Cuando le pongo que voy a vender 4 unidades de ese Te( puedes ver que el cursor aún está en el control Cantidad). Al pulsar Enter

Y la tabla me la ha dejado como

En este caso, en el evento Después de actualizar del control Cantidad le digo

DoCmd.RunSQL "update productos set existencias=existencias-cantidad where producto='" & Me.Producto & "'"

Es decir, actualízame el campo Existencias de la tabla Productos al valor que había menos el que he vendido, en aquel registro en el valor del campo Producto sea igual al que figura en ese momento en el control Producto de ese registro del formulario.

2 respuestas más de otros expertos

Respuesta
1

Supongo que has copiado mal, es DoCmd no DOCCmd y por eso el error, el resto no lo puedo calificar porque desconozco la aplicación y no indicas donde se esta aplicando.

Solo un consejo, verifica su correcta adaptación, por ejemplo que ocurre si se le modifica el valor a un campo (cantidad por ejemplo) cuando ya se guardo el anterior cambio en las tablas.

Respuesta
1

Efectivamente está mal es DoCmd.RunSQL ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas