** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - ERROR EN SINTAXIS
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoERROR EN SINTAXIS

 Responder Responder
Autor
Mensaje
wvalencia Ver desplegable
Nuevo
Nuevo


Unido: 27/Agosto/2020
Localización: Colombia
Estado: Sin conexión
Puntos: 5
Enlace directo a este mensaje Tema: ERROR EN SINTAXIS
    Enviado: 17/Septiembre/2020 a las 17:22
Buen día,

Agradezco alguien me pueda colaborar con el siguiente error.

Tengo un formulario llamado FR5_NovedadesCDP como formulario principal y un subformulario llamado FR51_DetalleNovedades.

Estoy intentando programar un boton de guardar, que me registre los datos que estan en cada uno de estos formularios, pero al ejecutar el código me sale el siguiente error:

"Se ha producido el error '3134' en tiempo de ejecución: Error de sintaxis en la instrucción INSERT INTO."

El código que estoy utilizando es el siguiente:


Private Sub Comando19_Click()

If Not IsNull(Total) And Not IsNull(Forms!FR5_NovedadesCDP!FR51_DetalleNovedades!Novedad) And Not IsNull(Forms!FR5_NovedadesCDP!FR51_DetalleNovedades!Valor) Then
DoCmd.RunSQL "insert into TB10_Novedades CDP([Código Detall],Novedad,Fecha,Valor,[Cod Apoteosys],Observaciones) select Forms!FR5_NovedadesCDP!FR51_DetalleNovedades![Código Detalle CDP],Forms!FR5_NovedadesCDP!FR51_DetalleNovedades!Novedad,Forms!FR5_NovedadesCDP!FR51_DetalleNovedades!Fecha,Forms!FR5_NovedadesCDP!FR51_DetalleNovedades!Valor,Forms!FR5_NovedadesCDP![Cod Apoteosys],Forms!FR5_NovedadesCDP!Observaciones,from registro;", -1
MsgBox "Registro Guardado", vbInformation, "Registrar Novedades del CDP"

End If

End Sub

Agradezco me puedan colaborar, ya que lo he hecho muchas veces y no me funciona.



Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14746
Enlace directo a este mensaje Enviado: 17/Septiembre/2020 a las 18:30
Hola,

El error podría venir dado por la utilización de palabras muy "peligrosas" que podrían considerarse reservadas: Fecha y Valor. También por la palabra Forms que, en algunos casos, puede que esté esperando Formularios!. 

Para evitar ese conflicto y para utilizar una sintaxis SQL más adecuada, yo prefiero utilizar un INSERT INTO con VALUES en lugar de con SELECT. Lo que ocurre es que la sintaxis es más laboriosa al tener que delimitar los valores.

Otra forma de hacerlo es abriendo un Recordset y asignando los valores de cada campo. Para un solo registro es igual de rápido y tiene la ventaja de no tener que estar mirando el tipo de datos para delimitar.

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
1loko Ver desplegable
Nuevo
Nuevo


Unido: 23/Enero/2020
Localización: Santander (Espa
Estado: Sin conexión
Puntos: 5
Enlace directo a este mensaje Enviado: 19/Septiembre/2020 a las 08:45
creo que el error es que no encadena correctamente los valores de los campos del form:

If Not IsNull(Total) And Not IsNull(Forms!FR5_NovedadesCDP!FR51_DetalleNovedades!Novedad) And Not IsNull(Forms!FR5_NovedadesCDP!FR51_DetalleNovedades!Valor) Then
DoCmd.RunSQL "insert into TB10_Novedades CDP([Código Detall],Novedad,Fecha,Valor,[Cod Apoteosys],Observaciones) select " & Forms!FR5_NovedadesCDP!FR51_DetalleNovedades![Código Detalle CDP] &"," &Forms!FR5_NovedadesCDP!FR51_DetalleNovedades!Novedad,Forms!FR5_NovedadesCDP!FR51_DetalleNovedades!Fecha,Forms!FR5_NovedadesCDP!FR51_DetalleNovedades!Valor,Forms!FR5_NovedadesCDP![Cod Apoteosys] &" , " &  Forms!FR5_NovedadesCDP!Observaciones,from registro;", -1
MsgBox "Registro Guardado", vbInformation, "Registrar Novedades del CDP"

* en caso de que algun valor sea texto, debiera de ir entre doble comillas  '"
dicho desde mi ignorancia


Editado por 1loko - 19/Septiembre/2020 a las 08:46
Arriba
raipon Ver desplegable
Moderador
Moderador


Unido: 10/Diciembre/2004
Localización: Desconocida
Estado: Sin conexión
Puntos: 4044
Enlace directo a este mensaje Enviado: 19/Septiembre/2020 a las 11:03
Hola, además de lo que comenta Xavi, creo que sobre una coma delante de la palabra From.
Ramon desde Terrassa.

Mi blog
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable