2012-05-15 35 views
5

Đoạn mã sau tạo một chuỗi SQL tạo lỗi cú pháp (3134) trong MS Access.Lỗi thời gian chạy VBA 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 

Giá trị của "sql" chuỗi trong đó sản xuất các lỗi cú pháp là:

"INSERT INTO tblItems (desc, descExtended, itemNumber, currentPrice) VALUES ('APPLE Granny Smith SLI IQF', ' GEMS OF FRUIT ', 2050791, 49) "

Tên bảng và trường là chính xác. Các trường "desc" và "descExtended" thuộc loại Văn bản. "itemNumber" và "currentPrice" là Số.

+0

Tương tự như: http://stackoverflow.com/questions/1447623/do-i-have-an-error-in-this-sql-created-using- vba – xQbert

Trả lời

5

Đó là tên trường của bạn. DESC giảm dần trong SQL không phải là mô tả. DESC là một từ dành riêng trong cú pháp SQL. Bạn sẽ cần phải đặt nó vào [] hoặc thay đổi nó. (Tôi khuyên bạn nên sau này nếu nó không quá muộn để tiết kiệm đau đầu trong tương lai.) Tránh sử dụng các từ dành riêng như tên bảng hoặc trường.

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

hoặc tốt hơn

INSERT INTO tblItems (Descript, descExtended, itemNumber, currentPrice) 
VALUES ('APPLE GRANNY SMITH SLI IQF', 'GEMS OF FRUIT', 2050791, 49) 
Các vấn đề liên quan