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

标签 ms-access vba

我有一个函数,可以从我在 MS Access 中创建的表中删除指定的字段。用过this供引用的问题。我怎样才能删除指定的字段?这是我目前所拥有的:

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

关于ms-access - 如何从Access VBA中的表中删除字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38728028/

相关文章:

mysql - 将 Ms. Access 数据库迁移到 MySQL 时逆向工程选择架构错误

sql - 在 MS Access SQL 查询中使用 WHERE NOT EXISTS

excel - 在 Excel 中将行从一张工作表复制并粘贴到另一张工作表

vba - 使用 xlsm 文件等模板创建文件夹和新的 *.xlsx 文件

excel - 删除命名范围时出现运行时错误

sql - MS Access 更新查询反转查询中的表放置。为什么它有效?

mysql - 将DAO QueryDef保存到临时查询并将结果输出到Excel

c# - 比较access数据库中的日期

excel - 将多张工作表中的同一行复制到一张特定工作表中

excel - 从 Excel 电子表格创建 .exe 文件