HENRY_DAVID | |
| 2007-05-30 15:49 - Respuestas: 21 - Tema nº: 2450818
Características: Windows Vista, 256,1.8,40.
he creado una base de datos en access en la cual tengo una tabla productos idproducto, stock, precio, descripcion etc, y otra tabla detalle de ventas idventa, idproducto, preciounidad, cantidad, esta tabla esta relacionada de uno a varios a la tabla productos mediante el idproducto, pero tengo otra tabla detalle de compras idcompras, idproducto, unidcompra, totalcompra que esta tabiém vinculada de una a varios con la tabla productos. mi pregunta es la sgte como hago para cuando yo elija el producto en mi tabla detalle de compras me aumente mi stock y a la vez cuando ingrese en mi detalle de ventas me descuente mi stock y tenga un saldo de productos exacto, he tratado de hacer una consulta pero al no tener relación las tablas detalle de ventas y de compras en mi formulario ventas no me permite ingresar ningun producto. además yo quiero que cuando escoja un producto para la venta me multiplique por el ultimo precio del producto comprado sin necesidad de estar cambiando de precio y ver así mis ganancias. q debo hacer?
| |
|
|
ebolo | |
|
Re: ACCESS - 2007-05-30 16:49 - Respuesta 2
Hola de nuevo Henry;
Para actualizar el stock de la tabla productos:
- En el formulario Compras, debes de poner lo siguiente en el evento Después de Insertar:
Private Sub Form_AfterInsert()
Dim consulta As String
consulta = "UPDATE PRODUCTOS SET PRODUCTOS.[STOCK] = [STOCK] +" & me.unidcompra
consulta = consulta & " WHERE (((PRODUCTOS.[STOCK])=" & Me.idproducto & "))"
CurrentDb.Execute consulta
End Sub
- En el formulario Ventas, pues lo mismo pero con una resta y en vez de me.unidcompra pues me.cantidad.
Para el tema de los precios, lo suyo es tener una tabla con las Tarifas Artículo - Cliente, es decir un mismo artículo puedes venderlo a distintos precios según cliente.
Pero si lo que quieres es simplemente buscar un dato mira en la ayuda del access la función Dlookup(...) que funciona muy bien.
Saludos.
| |
|
|
HENRY_DAVID | |
|
Re: ACCESS - 2007-05-30 19:36 - Respuesta 3
hola ebolo gracias por responder, escribí el código q me dijiste en el subforfulario detalle de ventas al ingresar un producto vendido y pasar a la sgte fila me sale error 3144 en tiempo de ejecución: error de sintaxis en la instrucción update
y me señala en amarillo la sgte linea del código CurrentDb.Execute CONSULTA | |
|
|
ebolo | |
|
Re: ACCESS - 2007-05-30 20:03 - Respuesta 4
se supone que me.unidcompra es el cuadro de texto donde tienes ese campo; y el me.idproducto es el cuadro de texto donde tienes ese campo.
ponle en una línea anterior a Currentdb...
msgbox consulta
para ver el valor de la variable consulta
comprueba que la tabla se llama productos, y el campo se llama stock | |
|
|
HENRY_DAVID | |
|
Re: ACCESS - 2007-05-30 21:46 - Respuesta 5
disculpa la molestia ebolo, pero me salió el sgte mensaje UPDATE Productos Set Productos.[STOCK]-30WHERE(((Productos.[STOCK])=2)) y luego me sale el otro mensaje q te dije | |
|
|
|