Ted*_*vid 5 vba ms-access-2007
我有一个导入 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
Run Code Online (Sandbox Code Playgroud)
一旦表字段成为表的一部分,您就无法更改它的类型。设置fld.Type
仅在向表添加新字段时有效。
您的代码可能会给出“错误 3219:无效操作”?
但是您可以使用 DDL(数据定义语言)SQL 并使用ALTER TABLE
-ALTER COLUMN
语句来完成此操作:
db.Execute "ALTER TABLE [MBDA List] ALTER COLUMN [MBDA Piece ID] LONG"
Run Code Online (Sandbox Code Playgroud)
编辑:以下是 DDL 数据类型名称与 DAO 常量的概述(例如dbLong
): http: //allenbrowne.com/ser-49.html