在 JET-SQL 语言中,您必须更具体地使用语法并在“ALTER TABLE”句子中添加“COLUMN”单词。示例:
strSql = "ALTER TABLE MyTable ADD COLUMN MyField DECIMAL (28,3);"
strSql = "ALTER TABLE MyTable ADD COLUMN MyText TEXT(3);"
根据帮助,您可以定义一个默认值,但我从未尝试过。此语法仅对 Access/JET 数据库有效。如果您通过 ODBC 或 ADO 访问您的访问表,我认为它不会起作用。
在这种情况下,您可以通过其他方式更改数据库结构。你会在这里找到一个例子。这是使用 DAO 对象模型制作的,但可以轻松切换到通用 ADO 对象模型以与 ADODB 连接一起使用。
编辑:一个“隐式 ADO 解决方案”(意味着使用 ADODB 连接而不是 ADO 表对象等)可以如下:
(有关连接字符串示例,请查看此处)
Dim myConnection AS ADODB.connection
set myConnection = New ADODB.connectionString
myConnection.connectionString = 'here is your connection string'
myConnection.open
myConnection.execute "ALTER TABLE myTable ADD Column MyField DECIMAL (12,3);"
myConnection.close
如果您正在使用活动的 mdb 文件,只需编写:
CurrentProject.Connection.Execute "ALTER TABLE myTable ADD Column MyField DOUBLE;"
而已。
如果您更喜欢使用 ADO 对象,请将 ADOX 库添加到您的代码源并使用该Table.columns.append
方法。你会在这里找到一个例子