真烂的Access及Access关键字
以前做数据库开发一直使用SQL Server和MySQL来开发,有比较好的工具,通常遇到关键字会以变色字体演示,一般到也不会出现什么问题,最近做一个小东东,想尝试一下Access,经常是在直接用SQL语句查询没有问题,一到程序里面就不行了,动不动就报“IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。”这个错误,查了半天才知道是因为使用了Access的关键字,我吐,发誓以后再也不用Access了。
为了避免大家犯同样的错误,现将Access的关键字列出来,如果以后在编程中你遇到了同样的错误,请看看是否使用了Access的关键字。
 -A
-A ADD
    ADD ALL
    ALL Alphanumeric
    Alphanumeric ALTER
    ALTER AND
    AND ANY
    ANY Application
    Application AS
    AS ASC
    ASC Assistant
    AssistantAT
 AUTOINCREMENT
    AUTOINCREMENT Avg
    Avg -B
-B BETWEEN
    BETWEEN BINARY
    BINARY BIT
    BIT BOOLEAN
    BOOLEAN BY
    BY BYTE
    BYTE -C
-C CHAR, CHARACTER
    CHAR, CHARACTER COLUMN
    COLUMN CompactDatabase
    CompactDatabase CONSTRAINT
    CONSTRAINT Container
    Container Count
    Count COUNTER
    COUNTER CREATE
    CREATE CreateDatabase
    CreateDatabase CreateField
    CreateField CreateGroup
    CreateGroup CreateIndex
    CreateIndex CreateObject
    CreateObject CreateProperty
    CreateProperty CreateRelation
    CreateRelation CreateTableDef
    CreateTableDef CreateUser
    CreateUser CreateWorkspace
    CreateWorkspace CURRENCY
    CURRENCY CurrentUser
    CurrentUser -D
-D DATABASE
    DATABASE DATE
    DATE DATETIME
    DATETIME DELETE
    DELETE DESC
    DESC Description
    Description DISALLOW
    DISALLOW DISTINCT
    DISTINCT DISTINCTROW
    DISTINCTROW Document
    Document DOUBLE
    DOUBLE DROP
    DROP -E
-E Echo
    Echo Else
    Else End
    End Eqv
    Eqv Error
    Error EXISTS
    EXISTS Exit
    Exit -F
-F FALSE
    FALSE Field, Fields
    Field, Fields FillCache
    FillCache FLOAT, FLOAT4, FLOAT8
    FLOAT, FLOAT4, FLOAT8 FOREIGN
    FOREIGN Form, Forms
    Form, Forms FROM
    FROM Full
    Full FUNCTION
    FUNCTION -G
-G GENERAL
    GENERAL GetObject
    GetObject GetOption
    GetOption GotoPage
    GotoPage GROUP
    GROUP GROUP BY
    GROUP BY GUID
    GUID -H
-H HAVING
    HAVING -I
-I Idle
    Idle IEEEDOUBLE, IEEESINGLE
    IEEEDOUBLE, IEEESINGLE If
    If IGNORE
    IGNORE Imp
    Imp IN
    IN INDEX
    INDEX Index, Indexes
    Index, Indexes INNER
    INNER INSERT
    INSERT InsertText
    InsertText INT, INTEGER, INTEGER1, INTEGER2, INTEGER4
    INT, INTEGER, INTEGER1, INTEGER2, INTEGER4 INTO
    INTO IS
    IS -J
-J JOIN
    JOIN -K
-K KEY
    KEY -L
-L LastModified
    LastModified LEFT
    LEFT Level
    Level Like
    Like LOGICAL, LOGICAL1
    LOGICAL, LOGICAL1 LONG, LONGBINARY, LONGTEXT
    LONG, LONGBINARY, LONGTEXT 
                 -M
-M Macro
    Macro Match
    Match Max, Min, Mod
    Max, Min, Mod MEMO
    MEMO Module
    Module MONEY
    MONEY Move
    Move -N
-N NAME
    NAME NewPassword
    NewPassword NO
    NO Not
    Not Note
    Note NULL
    NULL NUMBER, NUMERIC
    NUMBER, NUMERIC -O
-O Object
    Object OLEOBJECT
    OLEOBJECT OFF
    OFF ON
    ON OpenRecordset
    OpenRecordset OPTION
    OPTION OR
    OR ORDER
    ORDER Orientation
    Orientation Outer
    Outer OWNERACCESS
    OWNERACCESS -P
-P Parameter
    Parameter PARAMETERS
    PARAMETERS Partial
    PartialPassword
 PERCENT
    PERCENT PIVOT
    PIVOT PRIMARY
    PRIMARY PROCEDURE
    PROCEDURE Property
    Property -Q
-Q Queries
    Queries Query
    Query Quit
    Quit -R
-R REAL
    REAL Recalc
    Recalc Recordset
    Recordset REFERENCES
    REFERENCES Refresh
    Refresh RefreshLink
    RefreshLink RegisterDatabase
    RegisterDatabase Relation
    Relation Repaint
    Repaint RepairDatabase
    RepairDatabase Report
    Report Reports
    Reports Requery
    Requery RIGHT
    RIGHT -S
-S SCREEN
    SCREEN SECTION
    SECTION SELECT
    SELECT SET
    SET SetFocus
    SetFocus SetOption
    SetOption SHORT
    SHORT SINGLE
    SINGLESize
 SMALLINT
    SMALLINT SOME
    SOME SQL
    SQL StDev, StDevP
    StDev, StDevP STRING
    STRING Sum
    Sum -T
-T TABLE
    TABLE TableDef, TableDefs
    TableDef, TableDefs TableID
    TableID TEXT
    TEXT TIME, TIMESTAMP
    TIME, TIMESTAMP TOP
    TOP TRANSFORM
    TRANSFORM TRUE
    TRUE Type
    Type -U
-U UNION
    UNION UNIQUE
    UNIQUE UPDATE
    UPDATE USER
    USER -V
-V VALUE
    VALUE VALUES
    VALUES Var, VarP
    Var, VarP VARBINARY, VARCHAR
    VARBINARY, VARCHAR -W
-W WHERE
    WHERE WITH
    WITH Workspace
    Workspace -X
-X Xor
    Xor -Y
-Y Year
    Year YES
    YES YESNO
    YESNO2008年1月11日更新说明:在此把回帖用户补充的关键字都补上了。
最后说明一下:在Access中和在MS SQL中一样,对关键字的转义是使用“[”和“]”的,比如你的数据库中某个表中有以上述关键字作为字段名的,记得在该字段前后分别加上“[”和“]”,如[user],[password],[yes],不过建议还是尽量避免使用关键字。
另外有情提示:如果遇见报“insert into"语句错误的情况,多半就是因为你使用关键字了。记得转义或者更改字段名。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号