如何从Access VBA中的表中删除一个字段
问题描述:
我有一个函数可以从我在MS Access中创建的表中删除指定的字段。已使用this问题以供参考。我怎样才能让这个删除一个指定的字段?以下是我迄今为止:如何从Access VBA中的表中删除一个字段
Private Function removeFieldsFromIIPM(tableName As String, fieldToDrop As String)
Dim dbs As Database
Dim field As field
Set dbs = CurrentDb()
Set field = dbs.TableDefs([tableName]).Fields(fieldToDrop)
dbs.TableDefs([tableName]).Fields.Delete field.Name
dbs.Close
TableDefs.Refresh
End Function
答
如果你想使用DAO TableDef
方法砸你的领域,使用Database.TableDefs(tableName).Fields.Delete fieldToDrop
,作为@Lokusking suggested。
但是我觉得它更容易只是执行DDL ALTER TABLE
statement砸场:
Private Function removeFieldsFromIIPM(tableName As String, fieldToDrop As String)
Dim strDrop As String
strDrop = "ALTER TABLE [" & tableName & "] DROP COLUMN [" & fieldToDrop & "]"
CurrentDb.Execute strDrop, dbFailOnError
End Function
我可以问你,你为什么不干脆用SQL丢弃列?或者试试'dbs.TableDefs([tableName])。Fields.Delete fieldToDrop' – lokusking