vba - 在 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
解决方案
将 db 和 td 显式声明为 DAO 对象。
Dim db As DAO.Database
Dim td As DAO.TableDef
不需要刷新方法。
推荐阅读
- prolog - 如何完全删除 Prolog 中的谓词?
- java - 设计两种可能的方式
- java - Hibernate,进行本地 sql 查询并获取 get() 上的内容的列名
- ios - 你知道如何在 Swift 中使用 Core Animation 来制作这个动画吗?
- r - 在 R 中将 SQL 求和和计算转换为 dplyr
- slack - 如何创建带有文件附件的 Slack 命令
- reactjs - 为什么 Google AdSense 没有与 Reactjs 一起显示?
- android - Glide:在内存缓存中预加载图像(有或没有磁盘缓存)
- javascript - 对数组值进行分组并添加属性
- c# - 窗口大小与我在设计器中的大小不符