如何从Access VBA中的表中删除字段

Par*_*dox 3 ms-access vba access-vba

我有一个函数,我从我在MS Access中创建的表中删除指定的字段.使用这个问题作为参考.如何删除指定的字段?这是我到目前为止:

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
Run Code Online (Sandbox Code Playgroud)

Han*_*sUp 6

如果您想使用DAO TableDef方法删除字段,请使用Database.TableDefs(tableName).Fields.Delete fieldToDrop@Lokusking 建议.

但是我认为执行DDL ALTER TABLE语句删除字段更容易:

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
Run Code Online (Sandbox Code Playgroud)