** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Actualizar campo con RunSQL
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoActualizar campo con RunSQL

 Responder Responder
Autor
Mensaje
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1061
Enlace directo a este mensaje Tema: Actualizar campo con RunSQL
    Enviado: 14/Marzo/2015 a las 12:07
Buenos dias al grupo
Estoy intentando actualizar un campo de una tabla, sumando o restando a la cantidad actual una determinada cuantía y para ello parto del siguiente procedimiento.

Private Sub ActualizaStock()
Dim cantidad As Double
cantidad = Me.CantidadEntrada
DoCmd.RunSQL "Update MaestroArticulos set Stock = Stock + " & cantidad & " where Codigo='" & Me.CodigoProducto & "'"
End Sub

y me encuentro con el el problema de que si la variable cantidad es un número entero, actualiza perfectamente pero si esa variable(cantidad) contiene decimales me dice que hay error de sintaxis en la instrucción Update.
Si me podeis ayudar en la construccion de la sintaxis....
Saludos y gracias a todos por la colaboaración

Arriba
Emilio Ver desplegable
Administrador
Administrador

Santander

Unido: 08/Agosto/2004
Localización: España
Estado: Sin conexión
Puntos: 18821
Enlace directo a este mensaje Enviado: 14/Marzo/2015 a las 12:15
Hola!

una pista, solo para que te sirva de aprendizaje, depura el proceso paso a paso y verifica la sentencia SQL que construyes, verás que le sobra una coma...
Saludos a todos desde Huelva

http://www.mvp-access.es/emilio/
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1061
Enlace directo a este mensaje Enviado: 14/Marzo/2015 a las 13:25
Resulta obvio, ya que el error solo se produce, como dije en la exposición, cuando la cantidad contiene decimales.
Y no pretendo cambiar la cantidad por un número entero
No veo la pista que me quieres indicar
Gracias Emilio


Editado por main - 14/Marzo/2015 a las 13:25
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1061
Enlace directo a este mensaje Enviado: 14/Marzo/2015 a las 13:33
Bueno ya lo pille.
Reemplazo la coma por punto y funciona
Gracias de nuevo Emilio
Se puede cerrar el hilo
Arriba
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Enviado: 14/Marzo/2015 a las 13:36
Hace bastante (salio en el foro en multitud de ocasiones) que se aconseja utilizar la función STR para que Access adapte el dato a sus necesidades, la 'otra' alternativa (y también publicada de forma frecuente) consiste en manipular esos campos para convertir las comas en puntos (lógicamente antes se suprimen los puntos, el indicador de decimales 'en Guiri' y separador de millares 'en cristiano').
Arriba
guarracuco Ver desplegable
Moderador
Moderador
Avatar

Unido: 24/Abril/2004
Localización: EEUU
Estado: Sin conexión
Puntos: 3123
Enlace directo a este mensaje Enviado: 14/Marzo/2015 a las 20:15
Otra posibilidad en enmascarar con comillas simples la variable.
https://tucondominioaldia.net
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1061
Enlace directo a este mensaje Enviado: 10/Abril/2015 a las 00:52
Se puede cerrar este hilo
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable