真烂的Access及Access关键字

 以前做数据库开发一直使用SQL Server和MySQL来开发,有比较好的工具,通常遇到关键字会以变色字体演示,一般到也不会出现什么问题,最近做一个小东东,想尝试一下Access,经常是在直接用SQL语句查询没有问题,一到程序里面就不行了,动不动就报“IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。”这个错误,查了半天才知道是因为使用了Access的关键字,我吐,发誓以后再也不用Access了。

为了避免大家犯同样的错误,现将Access的关键字列出来,如果以后在编程中你遇到了同样的错误,请看看是否使用了Access的关键字。

- A
    
ADD
    
ALL
    Alphanumeric
    
ALTER
    
AND
    
ANY
    Application
    
AS
    
ASC
    Assistant
       AT
    AUTOINCREMENT
    
Avg
- B
    
BETWEEN
    
BINARY
    
BIT
    BOOLEAN
    
BY
    BYTE
- C
    
CHAR CHARACTER
    
COLUMN
    CompactDatabase
    
CONSTRAINT
    Container
    
Count
    COUNTER
    
CREATE
    CreateDatabase
    CreateField
    CreateGroup
    CreateIndex
    CreateObject
    CreateProperty
    CreateRelation
    CreateTableDef
    CreateUser
    CreateWorkspace
    CURRENCY
    CurrentUser
- D
    
DATABASE
    DATE
    
DATETIME
    
DELETE
    
DESC
    Description
    DISALLOW
    
DISTINCT
    DISTINCTROW
    Document
    
DOUBLE
    
DROP
- E
    Echo
    
Else
    
End
    Eqv
    Error
    
EXISTS
    
Exit
- F
    FALSE
    Field, Fields
    FillCache
    
FLOAT , FLOAT4, FLOAT8
    
FOREIGN
    Form, Forms
    
FROM
    
Full
    
FUNCTION
- G
    GENERAL
    GetObject
    GetOption
    GotoPage
    
GROUP
    
GROUP   BY
    GUID
- H
    
HAVING
- I
    Idle
    IEEEDOUBLE, IEEESINGLE
    
If
    IGNORE
    Imp
    
IN
    
INDEX
    
Index , Indexes
    
INNER
    
INSERT
    InsertText
    
INT INTEGER , INTEGER1, INTEGER2, INTEGER4
    
INTO
    
IS
- J
    
JOIN
- K
    
KEY
- L
    LastModified
    
LEFT
    
Level
    
Like
    LOGICAL, LOGICAL1
    
LONG , LONGBINARY, LONGTEXT
                
- M
    Macro
    Match
    
Max Min , Mod
    MEMO
    Module
    
MONEY
    Move
- N
    NAME
    NewPassword
    NO
    
Not
    Note
    
NULL
    
NUMBER , NUMERIC
- O
    Object
    OLEOBJECT
    
OFF
    
ON
    OpenRecordset
    
OPTION
    
OR
    
ORDER
    Orientation
    
Outer
    OWNERACCESS
- P
    Parameter
    PARAMETERS
    Partial
       Password
    
PERCENT
    PIVOT
    
PRIMARY
    
PROCEDURE
    Property
- Q
    Queries
    Query
    Quit
- R
    
REAL
    Recalc
    Recordset
    
REFERENCES
    Refresh
    RefreshLink
    RegisterDatabase
    Relation
    Repaint
    RepairDatabase
    Report
    Reports
    Requery
    
RIGHT
- S
    SCREEN
    SECTION
    
SELECT
    
SET
    SetFocus
    SetOption
    SHORT
    
SINGLE
        Size

    
SMALLINT
    
SOME
    SQL
    
StDev StDevP
    STRING
    
Sum
- T
    
TABLE
    TableDef, TableDefs
    TableID
    
TEXT
    TIME, 
TIMESTAMP
    
TOP
    TRANSFORM
    TRUE
    Type
- U
    
UNION
    
UNIQUE
    
UPDATE
    
USER
- V
    VALUE
    
VALUES
    
Var VarP
    
VARBINARY VARCHAR
- W
    
WHERE
    
WITH
    Workspace
- X
    Xor
- Y
    
Year
    YES
    YESNO

2008年1月11日更新说明:在此把回帖用户补充的关键字都补上了。

最后说明一下:在Access中和在MS SQL中一样,对关键字的转义是使用“[”和“]”的,比如你的数据库中某个表中有以上述关键字作为字段名的,记得在该字段前后分别加上“[”和“]”,如[user],[password],[yes],不过建议还是尽量避免使用关键字。

另外有情提示:如果遇见报“insert into"语句错误的情况,多半就是因为你使用关键字了。记得转义或者更改字段名。

你可能感兴趣的:(Access)