Error de sintaxis en un INSERT INTO

Intento insertar en la tabla: PEDIDOLINEAEMPRESA a través de esta instrucción

CurrentDb.Execute "INSERT INTO [PEDIDOLINEAEMPRESA] (IdClienteMostra,ArticuloMostra,UnidadesMostra,PVPMostra) VALUES ('" & Me.Cliente & "','" & Me.Concep1 & "','" & Me.Unidad & "','" & Me.Calculado1 & "')"

Y me da este error que por mucho que mire no encuentro donde pueda estar mal.

3 respuestas

Respuesta
2

Juan: En mi opinión alguno de los campos tiene decimales y la SQL interpreta la "," como un separador de campo.

Si quieres comentarme campo a campo su formato, te redacto la sentencia SQL. Jacinto

Respuesta
2

Lo más probable es que el error está en que tratas todos los valores a insertar como texto cunado alguno no lo es (por ejemplo Unidad o Calculado1).

También puede ser porque el valor de Calculado1 tenga parte decimal y entre en conflicto con la sintaxis de SQL (si usas "," como separador decimal, ahí está el problema). Esto lo puedes solucionar usando la función Replace()

Por último, según el mensaje de error, también puede ser porque algún valor de los que intentas insertar tenga uno de esos caracteres que te indica ( "!" o "()"), lo que provoca que la SQL sea incorrecta.

Si en vez de CurrentDb. Execute pones Debug. Print, verás en la ventana inmediato la SQL que se te genera y podrás comprobar si es o no correcta.

Muchas Gracias por toda tu ayuda.

Ya lo tengo solucionado el error estaba dando en el numero de cliente que no me recogía el valor correctamente.

Respuesta
2

Si la instrucción esta tal como la has puesto funciona perfectamente. He reproducido la tabla, y los cuadros de texto del formulario e inserta sin problemas.

Te pongo como he puesto el código, que es exactamente igual al tuyo

DoCmd.RunSQL "INSERT INTO [PEDIDOLINEAEMPRESA] (IdClienteMostra,ArticuloMostra,UnidadesMostra,PVPMostra) VALUES ('" & Me.Cliente & "','" & Me.concep1 & "','" & Me.Unidad & "','" & Me.calculado1 & "')"

Muchas Gracias por toda tu ayuda.

Ya lo tengo solucionado el error estaba dando en el numero de cliente que no me recogía el valor correctamente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas