在Access中创建表一般是用ADO来执行SQL语句来创建表。Access中的字段类型在SQL语句中是什么呢?在MSDN中有篇文章介绍得很详细:
http://msdn.microsoft.com/office/understanding/access/codesamples/default.ASPx?pull=/library/en-us/dnacc2k/HTML/acintsql.asp
下面是我写的一个SQL语句,在Delphi中用ADOConnection对象执行成功:
CREATE TABLE 测试表 (
文本255 VARCHAR NOT NULL,
文本20 VARCHAR(20) NOT NULL,
日期时间 DATETIME,
数字1 BYTE,
数字2 SMALLINT,
数字4 INTEGER,
布尔 BIT,
自动编号 COUNTER(10, 5) CONSTRAINT PK_TVIPLevel26 PRIMARY KEY,
小数 NUMERIC,
单精度 REAL,
双精度 FLOAT DEFAULT 0 NOT NULL,
备注 MEMO,
货币 CURRENCY,
OLE对象 IMAGE)
在Access的查询设计器中,该语句不能执行DEFAULT 0;
其中:COUNTER(10,5)表明初始值从10开始,每次递增5,如果没有(10,5),则是从1开始,每次递增1;
NUMERIC表示小数,可以用NUMERIC(18,2)指定有2位小数;