Asignar valor calculado a un campo de tabla en Access con VBA o 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
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 ' Refresco asignando a Cantidad_compra2 la diferencia con rs3!Cantidad_venta
rs2.update
rs3.MoveNext
rs2.MoveNext
rs1.MoveNext
Loop
Loop
Loop
End Sub
Pero desafortunadamente al realizar dicho proceso no se ejecutan las operaciones,
pues al depurar la aplicación con F8 no se calcula
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