Asignar valor calculado a un campo de tabla en Access con VBA o lenguaje SQL.
Agradezco a quien me pueda ayudar con lo siguiente:
Tengo unas tabla llamada Productos en donde tengo los campos Cantidad_compra y Cantidad_compra2 lo primero que
necesito hacer es asignar a Cantidad_compra2 el valor de Cantidad_compra, es decir Cantidad_compra2= Cantidad_compra
luego necesito a dicho campo llamado Cantidad_compra2 decrementarlo con el campo llamado Cantidad_venta que esta en otra tabla
llamada Productos_venta y que el campo Cantidad_compra2 quede con dicho valor , es decir:
Cantidad_compra2=Cantidad_compra2-Cantidad_venta
He intentado hacer eso utilizando lenguaje de programación VBA, como se ve a continuación:
Private Sub Comando14_Click()
Dim db1 As dao.Database
Dim db2 As dao.Database
Dim db3 As dao.Database
Dim rs1 As dao.Recordset, rs2 As dao.Recordset, rs3 As dao.Recordset
Set db1 = CurrentDb
Set db2 = CurrentDb
Set db3 = CurrentDb
Al ejecutar el código paso a paso (Depuración con F8) y poner el puntero izquierdo del mouse
en rs1, rs2 y rs3 No me muestra los valores de cada una de las tres consultas
Set rs1 = db1.OpenRecordset("Select Cantidad_compra from Productos Where Cod_producto='" & Me.Cod_producto_venta & "'") 'Se coloca asi por que es un subformulario dentro de otro subformulario
Set rs2 = db2.OpenRecordset("Select Cantidad_compra2 from Productos Where Cod_producto='" & Me.Cod_producto_venta & "'") ' Lo asignamos a otro campo llamado Cantidad_compra2 (2)
Set rs3 = db3.OpenRecordset("Select Cantidad_venta from Productos_venta Where Cod_producto_venta='" & Me.Cod_producto_venta & "' And Numero_factura_venta='" & Me.Numero_factura_venta & "'", dbOpenSnapshot)
Do While Not rs1.EOF
Do While Not rs2.EOF
Do While Not rs3.EOF
rs1.edit
rs2.edit
rs3.edit
rs2!Cantidad_compra2 = rs1!Cantidad_compra ' asigno a Cantidad_compra2 lo que esta en Cantidad_compra
rs2!Cantidad_compra2 = rs2!Cantidad_compra2 - rs3!Cantidad_venta 'A Cantidad_compra2 le asigno la diferencia entre lo que se tiene
' En el mismo rs2!Cantidad_compra2 con rs3!Cantidad_venta
rs2.update
rs3.MoveNext
rs2.MoveNext
rs1.MoveNext
Loop
Loop
Loop
End Sub
Al no mostrarse o traerme los tres valores de la consulta como se dijo anteriormente (Set rs1, Set rs2, Set rs3)
No se calcula lo siguiente:
rs2!Cantidad_compra2 = rs1!Cantidad_compra
rs2!Cantidad_compra2 = rs2!Cantidad_compra2 - rs3!Cantidad_venta
Tome la decisión de hacer todo con el lenguaje de consulta Sql, pero pese a que hago esto:
Select Cantidad_compra,Cantidad_compra2,Cantidad_venta from Productos,Productos_venta
Inner Join Productos_venta ON Productos.Cod_producto = Productos_venta.Cod_producto_venta
No se comno hacer en dicha sentencia para hacer el proceso descrito anteriormente es decir hacer
rs2!Cantidad_compra2 = rs1!Cantidad_compra
rs2!Cantidad_compra2 = rs2!Cantidad_compra2 - rs3!Cantidad_venta
En la consulta Sql