2012-05-15 28 views
5

El siguiente código crea una cadena de SQL que produce un error de sintaxis (3134) en MS Access.VBA Error en tiempo de ejecución 3134

 sql = "INSERT INTO tblItems (desc, descExtended, itemNumber, currentPrice) " & _ 
        "VALUES (" & _ 
        "'" & rs.Fields("Field6") & "', " & _ 
        "'" & rs.Fields("Field7") & "', " & _ 
        rs.Fields("Field1") & ", " & _ 
        rs.Fields("Field8") & _ 
        ")" 
     db.Execute sql, dbFailOnError 

El valor de la cadena "sql" que produce el error de sintaxis es:

"INSERT INTO tblItems (desc, descExtended, itemnumber, currentPrice) VALORES ('de manzana Granny Smith SLI IQF', ' GEMS OF FRUIT ', 2050791, 49) "

Los nombres de las tablas y los campos son correctos. Los campos "desc" y "descExtended" son de tipo Texto. "itemNumber" y "currentPrice" son Number.

+0

similares a: http://stackoverflow.com/questions/1447623/do-i-have-an-error-in-this-sql-created-using- vba – xQbert

Respuesta

5

Es el nombre de su campo. DESC desciende en SQL no descripción. DESC es una palabra reservada en la sintaxis de SQL. Necesitarás ponerlo en [] o cambiarlo. (Recomendaría este último si no es demasiado tarde para evitar futuros dolores de cabeza.) Evite usar palabras reservadas como nombres de tablas o campos.

INSERT INTO tblItems ([desc], descExtended, itemNumber, currentPrice) 
VALUES ('APPLE GRANNY SMITH SLI IQF', 'GEMS OF FRUIT', 2050791, 49) 

o mejor

INSERT INTO tblItems (Descript, descExtended, itemNumber, currentPrice) 
VALUES ('APPLE GRANNY SMITH SLI IQF', 'GEMS OF FRUIT', 2050791, 49) 
Cuestiones relacionadas