|
作 者:Microsoft
发布日期:2002年11月8日
摘 要:Microsoft Knowledge Base Article - Q116145
Microsoft Access包含一个数据定义语言(DDL),你可以用来建立、删除表和关系。这些操作也可以通过VBA(或ACCESS 2.0中ACCESS Basic)使用数据访问对象(DAO)来执行。本文讨论在DLL中的一些操作。
注: 本文中的所有例示语句可以加到Microsoft Access查询中来运行。使用数据定义语句,创建一个新的查询,然后点击查询菜单中的SQL特定查询中的数据定义,然后在定义查询窗口中输入你数据定义语句,通过点击查询菜单的运行来运行。
正 文:
建立一个带有自动编号数据类型主键(PrimaryKey)字段Id和一个文本数据类型长度为10的字段MyText的表,可以在查询的数据定义查询窗口输入下列语句:
注:在下列查询举例中,每行最后的下划线(_)是用来续行的。在创建查询时,请移除。
CREATE TABLE Table1 (Id COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, _
MyText TEXT (10))
不需要主键(PrimaryKey)也能通过运行下面的查询语句创建关系中另一侧的外键(Foreign Key)。该查询创建一个长整数类型字段Id和一个文本类型字段MyText(默认长度为255)的表。
CREATE TABLE Table2 (Id LONG, MyText TEXT)
在创建这两个表后,运行下面的查询在Table1和Table2之间来创建一个一对多的关系,其中Table1为关系的主侧。
ALTER TABLE Table2 ADD CONSTRAINT Relation1 FOREIGN KEY ([Id]) _
REFERENCES Table1 ([Id])
要删除这两个表之间关系,可以使用下面的查询:
ALTER TABLE Table2 DROP CONSTRAINT Relation1
要删除表Table1, 可以运行下面的查询:
DROP TABLE Table1
要删除表Table2, 可以运行下面的查询:
DROP TABLE Table2
除了通过查询来运行这些语句名,还可以将DDL语句以代码的形式在RunSQL中运行,也可以通过下面的过程来模拟。
Sub ExecuteSQLDDL (SQLString As String)
Dim db As Database, qd As QueryDef
Set db = DBEngine.Workspaces(0).Databases(0)
Set qd = db.CreateQueryDef("")
qd.SQL = SQLString
qd.Execute
db.Close
End Sub
调用这个过程,使用下面的语法:
ExecuteSQLDDL "DROP TABLE Table1" |
|