【问题标题】:Can't add new field after deleting fields删除字段后无法添加新字段
【发布时间】:2013-10-09 08:16:54
【问题描述】:

我正在使用 MS Access 2010。

情况:

表格达到 225 个字段

删除一个字段(因此表中有 224 个“可见”字段)

添加新字段

获取错误 3109“定义的字段过多。”

我使用 VBA 添加和删除字段。

添加:

Dim dbs as Database
Set dbs = CurrentDb()
queryAlter = "ALTER TABLE [Table] ADD [" & [field] & "] Varchar(255)"
dbs.Execute queryAlter, dbFailOnError
dbs.Close

我添加了一个带有查询的字段,因为它对我来说更容易

删除:

Dim dbs as Database
Dim field as Field
Set dbs = CurrentDb()
    Do While dbs.TableDefs([Table]).Fields.count > 3
        Set field = dbs.TableDefs([Table]).Fields(3)
        dbs.TableDefs([Table]).Fields.Delete field.name
    Loop
dbs.Close

我希望前 3 个字段保留在表格中 我不使用查询,因为这对我来说更快。 (我想)

【问题讨论】:

    标签: ms-access vba ms-access-2010


    【解决方案1】:

    在您的删除代码中,在关闭数据库之前执行方法TableDefs.Refresh

    【讨论】:

    • 很抱歉,这不起作用。我已经尝试过了,但它没有用。我关闭数据库并重新打开它仍然无法完成。不过谢谢
    • 糟糕,我错过了方法 objTb.Fields.Refresh。你尝试过小规模的吗?我尝试了很少的字段,它按预期工作。如果它适用于小规模,我相信它也适用于大规模,因为每个 Ms-Access Doc Tables 最多可以有 255 个字段。
    猜你喜欢
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多