Actualizar Costo

Tengo la siguiente situación:
Las tablas:
Producto: CodProducto + Nombre + Costo
Compra: Nocompra + Fecha + CodProveedor
DetalleCompra: NoDetallePC + NoCompra + CodProducto + Costo + Cantidad + Total
Están relacionadas de la siguiente manera:
Producto con la tabla DetalleCompra
Compra con la tabla DetalleCompra
Es decir una relación de muchos a muchos
De Compra + DetalleCompra realizo un form con subform.
Cuando selecciono un producto y después el costo, deseo saber como
hacer esto: si el costo introducito es distinto (mayor o menor) al costo de la
tabla producto que me lo actualize en dicha tabla.
En el caso que sea igual no hacer nada.

3 Respuestas

Respuesta
1
¿No entiendo bien pero esta un tanto difícil... bueno dame más detalles no repitas lo que me dijiste ya entendí quiero detalles de que como quieres que se actualicen?
Respuesta
1
LA solución es que en tu formulario donde ingresas la compra tomes el costo. Lo puedes hacer de muchas formas, se me ocurre que en tu caso debes usar un combo box para seleccionar el producto, entonces de este mismo combo puedes tomar el valor del costo original, y compararlo con el nuevo costo, si la comparación es <> de 0 entonces ejecutas una consulta de actualización que lo modifique. Esto seria más o menos así:
Combobox (Columna 1 nombre del articulo, col2 código del articulo, col3 costo_original) nombre del combo cc_articulo
En el evento después de actualizar del cc_Articulo, escribes:
If me.cc_articulo.column(2) <> me.costo_nuevo then
v_sql = "UPDATE PRODUCTO SET costo = " & me.costo_nuevo & " "
docmd.runsql v_sql
Y listo
Respuesta
1
En el evento AfterUpdate (después de actualizar) el campo Costo, haces un DLookUp a l atabla Productos para ver el costo de ese producto. Y, si es distinto, actualizas el precio de la tabla.
Private Sub Costo_AfterUpdate()
If DLookUp("[Precio]","[Productos]","[CodProducto]=" & Me!CodProducto) <> Me!Precio Then
DoCmd.RunSQL "UPDATE Productos SET Productos.Precio= " & Me!Precio & " WHERE Productos.CodProducto= " & Me!CodProducto & ";"
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas