我有一个导入Excel表,更改几个列(字段)名称,添加索引和几个新字段的例程。但是,索引字段从Excel导入为Double,我想将其更改为Long。此代码段适用于所有类型,但更改类型除外:
Set tdf = db.TableDefs(TableName) ' Modify the new MBDA List table
For Each fld In tdf.Fields
Select Case fld.Name ' Change the name of specific fields
Case "MBDA Piece ID #"
fld.Name = "MBDA Piece ID"
fld.Type = dbLong ' change the type from Double to Long
Case ">>Grade Level"
fld.Name = "Grade"
Case Else
End Select
Next fld
NumFlds = i
最佳答案
一旦它成为表的一部分,就无法更改表字段的类型。设置fld.Type
仅在向表中添加新字段时有效。
您的代码可能给出“错误3219:无效的操作”?
但是您可以使用带有ALTER TABLE
-ALTER COLUMN
语句的DDL(数据定义语言)SQL来做到这一点:
db.Execute "ALTER TABLE [MBDA List] ALTER COLUMN [MBDA Piece ID] LONG"
编辑:这是DDL数据类型名称与DAO常量(例如
dbLong
)的概述:http://allenbrowne.com/ser-49.html关于vba - 使用VBA Access 2007以编程方式更改字段类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34030230/