Inconveneinte con consultas SQL Update en Access con VBA

Resulta que deseo asignar al campo Productos.Cantidad_compra= la diferencia entre el mismo campo
(Productos.Cantidad_compra) - Productos_venta.Cantidad_venta dependiendo claro esta del
valor de un texto que esta dentro del mismo formulario, el nombre del texto es


Dim sSQL1 As String ' 17 de Mayo de 2015 OJO ESTA BIEN
''''
sSQL1 = "UPDATE Productos INNER JOIN Productos_venta"
sSQL1 = sSQL1 & " ON Productos.Cod_producto = Productos_venta.Cod_producto_venta "
sSQL1 = sSQL1 & "SET Productos.Cantidad_compra= Productos.Cantidad_compra - Productos_venta.Cantidad_venta"" " And Productos.Id_Cod_producto = " & Me.cod_prod_piv & "
CurrentDb.Execute sSQL1

' cuando se le incluye And Productos.Id_Cod_producto = " & Me.cod_prod_piv & " dice que no coinciden los tipos

Si Modifico el Update haciendo un select, a presar de que queda de la siguiente manera:

Dim sSQL1 As String ' 17 de Mayo de 2015 '''
sSQL1 = "UPDATE Productos INNER JOIN("
sSQL1 = sSQL1 & "SELECT Cod_producto_venta "
sSQL1 = sSQL1 & " FROM Productos_venta"
'sSQL1 = sSQL1 & "WHERE Productos.Cod_producto = Productos_venta.Cod_producto_venta"
sSQL1 = sSQL1 & ")"
sSQL1 = sSQL1 & "ON Productos.Cod_producto = Productos_venta.Cod_producto_venta"
sSQL1 = sSQL1 & "Set Productos.Cantidad_compra = Productos.Cantidad_compra - Productos_venta.Cantidad_venta And Productos.Id_Cod_producto = " & Me.cod_prod_piv & ""

CurrentDb.Execute sSQL1

Al momento de ejecutar me aparece el mismo error: "No coinciden los tipos".

Vale mencionar que los campos Productos.Cantidad_compra y Productos_venta.Cantidad_venta son de tipo numérico, el campo Productos.Id_Cod_producto es de tipo Autonumeracion .

Muchas gracias por su colaboración

Att. Hernan Camilo M.V

1 respuesta

Respuesta
1

Yo te recomendaría no buscar desde un campo autonumérico, mejor desde el campo id o nombre del producto ( puede ser parcial con un like )

Y en esta parte

sSQL1 = sSQL1 & "Set Productos.Cantidad_compra = Productos.Cantidad_compra - Productos_venta.Cantidad_venta

unos parentesis no vendrian mal

sSQL1 = sSQL1 & "Set Productos.Cantidad_compra = (Productos.Cantidad_compra - Productos_venta.Cantidad_venta) and ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas