ERROR EN SINTAXIS |
Responder |
Autor | |
wvalencia
Nuevo Unido: 27/Agosto/2020 Localización: Colombia Estado: Sin conexión Puntos: 5 |
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. |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14746 |
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
|
|
1loko
Nuevo Unido: 23/Enero/2020 Localización: Santander (Espa Estado: Sin conexión Puntos: 5 |
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 |
|
raipon
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Moderador Unido: 10/Diciembre/2004 Localización: Desconocida Estado: Sin conexión Puntos: 4044 |
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.
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |