¿Cómo es la sintaxis correcta en la cláusula update?

quiero una funcion update para acutalizar un campo.

Si uso esta me funciona

DoCmd.RunSQL "UPDATE tblClienteProducto SET tblClienteProducto.PVP = 25 WHERE (((tblClienteProducto.Producto)=[Formularios]![formAlbaran]![formAlbaran1]![Producto]) AND ((tblClienteProducto.Cliente)=[Formularios]![formAlbaran]![Cliente]))"

En cambio si quiero que me coja el valor del formulario me da error de sintaxis.

Lo que uso es esto:

DoCmd.RunSQL "UPDATE tblClienteProducto SET tblClienteProducto.PVP =  " & saberprecio & "  WHERE (((tblClienteProducto.Producto)=[Formularios]![formAlbaran]![formAlbaran1]![Producto]) AND ((tblClienteProducto.Cliente)=[Formularios]![formAlbaran]![Cliente]))"

Pero me da error de sintaxis, ¿qué estoy haciendo mal?

2 Respuestas

Respuesta
1

Eloy: Prueba poniendo >>> Me. Saberprecio, si es que realmente estás en el Formulario activo que contiene ese valor >> JTJ

Respuesta
1

Depende "desde donde" le estés dando la instrucción.

1º Vamos a suponer que es desde el subformulario

DoCmd.RunSQL "UPDATE tblClienteProducto SET PVP = 25 WHERE Producto='" & me.producto & "'" AND Cliente='" & me.parent!cliente & "'"

Es decir actualízame el valor de PVP de la tabla tblClienteProducto a 25, en aquel registro en que el campo Producto sea igual al del registro activo del subformulario y el valor del campo Cliente sea igual al que figura en el formulario.( Me. Parent es el "formulario padre")

2ºVamos a suponer que sea desde el formulario

DoCmd.RunSQL "UPDATE tblClienteProducto SET PVP = 25 WHERE Producto)='" & me.albaran1.form!Producto AND Cliente)='" & me.cliente & "'"

O sea, actualízame el campo PVP de la tabla a 25 en aquel registro en que el campo Producto sea igual al que figura en el registro activo y que el campo Cliente sea igual al del control Cliente del formulario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas