Office中国论坛/Access中国论坛

标题: 如何用VBA代码修改数据库结构? [打印本页]

作者: zhongchen    时间: 2004-9-18 15:32
标题: 如何用VBA代码修改数据库结构?
如何用VBA代码修改数据库结构?

如修改字段类型(将数值型字段,修改为文本型字段)

如删除字段,或增加字段。

请帮忙的时候,能不能举两个例子说明,谢谢!
作者: 方漠    时间: 2004-9-19 03:54
ALTER TABLE 语句示例此示例在员工表中增加 Money 数据类型的一个工资字段。Sub AlterTableX1()    Dim dbs As Database    ' 在您的计算机中修改此行使其正确指到 Northwind 的路径。    Set dbs = OpenDatabase("Northwind.mdb")    ' 对运费超过 $100 的订单,    '添加工资字段至员工表中,    '并且设置为 Currency 数据类型。    dbs.Execute "ALTER TABLE Employees " _        & "ADD COLUMN Salary CURRENCY;"    dbs.CloseEnd Sub此示例把工资字段的数据类型从 Money 改为 Char。Sub AlterTableX2()    Dim dbs As Database    ' 在您的计算机中修改此行使其正确指到 Northwind 的路径。    Set dbs = OpenDatabase("Northwind.mdb")    ' 对运费超过 $100 的订单,    '添加工资字段至员工表中,    '并且设置为 Currency 数据类型。    dbs.Execute "ALTER TABLE Employees " _        & "ALTER COLUMN Salary CHAR(20);"    dbs.CloseEnd Sub此示例从员工表中删除工资字段。Sub AlterTableX3()    Dim dbs As Database    ' 在您的计算机中修改此行使其正确指到 Northwind 的路径。    Set dbs = OpenDatabase("Northwind.mdb")    ' 对运费超过 $100 的订单,    '从员工表中删除工资字段。    dbs.Execute "ALTER TABLE Employees " _        & "DROP COLUMN Salary;"    dbs.CloseEnd Sub此示例在订单表中增加一个外部键。这个外部键是基于员工编号字段和引用至员工的表中的员工编号字段。在此示例中,不必把 EmployeeID 字段列在 REFERENCES 子句中的 Employees table 后面,因为 EmployeeID 是 Employees table 的主键。SubSub()    Dim dbs As Database    ' 在您的计算机中修改此行使其正确指到 Northwind 的路径。    Set dbs = OpenDatabase("Northwind.mdb")    ' 对运费超过 $100 的订单,    '在订单表中添加外部键。    dbs.Execute "ALTER TABLE Orders " _        & "ADD CONSTRAINT OrdersRelationship " _        & "FOREIGN KEY (EmployeeID) " _        & "REFERENCES Employees (EmployeeID);"    dbs.CloseEnd Sub此示例从订单表中删除外部键。Sub AlterTableX3()    Dim dbs As Database    ' 在您的计算机中修改此行使其正确指到 Northwind 的路径。    Set dbs = OpenDatabase("Northwind.mdb")    ' 对运费超过 $100 的订单,    ' 从订单表中清除OrdersRelationship外部键    '     dbs.Execute "ALTER TABLE Orders " _        & "DROP CONSTRAINT OrdersRelationship;"    dbs.CloseEnd Sub


作者: cg1    时间: 2004-9-19 21:12
关于此主题请参考:

    MS Jet SQL for Access 2000中级篇(1)《查询》

    http://access911.net/index.asp?u1=a&u2=79FAB31E16DC

关于此主题请参考:

    MS Jet SQL for Access 2000中级篇(2)《查询》

    http://access911.net/index.asp?u1=a&u2=71FAB71E12DCE9F3


作者: cg1    时间: 2004-9-19 21:12
关于此主题请参考:

    MS Jet SQL for Access 2000中级篇(1)《查询》

    http://access911.net/index.asp?u1=a&u2=79FAB31E16DC

关于此主题请参考:

    MS Jet SQL for Access 2000中级篇(2)《查询》

    http://access911.net/index.asp?u1=a&u2=71FAB71E12DCE9F3






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3