首页 > 解决方案 > 在 Access 表中使用 OrdinalPosition 重新排序列

问题描述

我有一个导入的 Excel 电子表格,并在表格末尾添加了新字段。我知道可以简单地手动重新排序字段,但我想为每次导入自动化它。

这是我一直在使用的代码,但表格没有更新OrdinalPosition为我要移动的列的定义。我想稍后将相同的技术应用于多个列。

Sub ReorderColumns()
    Dim db As Database
    Dim td As TableDef
    Dim NewField As Field

    Set db = CurrentDb
    Set td = db.TableDefs("Imported Pcard")

    td.Fields("Postal Code").OrdinalPosition = 2

    td.Fields.Refresh
End Sub

标签: vbams-access

解决方案


将 db 和 td 显式声明为 DAO 对象。

    Dim db As DAO.Database
    Dim td As DAO.TableDef

不需要刷新方法。


推荐阅读