Why do I get the message Microsoft JET Database Engine error ' 80040e14' Syntax error in INSERT INTO statement??
[Print this FAQ]
Answer:
See also the other question in this category about SQL "missing operator" or "type mismatch" errors.
The most common cause of this error is probably the use of a SQL or Access (if using Access) keyword as a table name or field name.
Some of the more common reserved words to crop up include: Date Time Desc [as in ORDER BY DESCending] Money But there are also other odd words that you might find happen to be keywords! For example, TimeStamp is a keyword. Yet it doesn't show up in the normal list of Access keywords. Why? Because it is a legal SQL "synonym" for DateTime.
How can you determine if a field or table name might be a keyword and thus causing you problems? Well, the easiest way is simply to enclose the name in [ brackets ] (like that) and try again. If the SQL now works, you have found the problem.
To use Access's HELP to determine if a word might be a keyword, you should use the FIND tab from the HELP (not the INDEX tab) and search for the word in question. Some keywords (TimeStamp was an example) do not show up in the INDEX but do show up with a full FIND of the help info.
FAQ posted by Bill Wilkinson at
11/8/2000 9:01:22 PM to the
Databases, Errors category.
This FAQ has been viewed 61,560 times.
Do you have a FAQ you'd like to suggest?
Suggestions? Comments? If so, send it in!
Also, if you'd like to be a FAQ Admin (creating/editing FAQs),
let me know! If you are looking for other FAQs, be
sure to check out the 4Guys
FAQ and Commonly Asked Messageboard Questions!