访问 VBA 以设置字段位置

Access VBA to Set Field Location

我想使用 Alter Table 语句向 table 添加一些字段。我想在添加字段时控制字段的位置。我尝试了下面的语法,它会添加字段,但它没有添加到位置 2,而是添加到 table.

中的最后一个位置

如何更改以控制要添加的字段的位置?

Set td = db.TableDefs("InformationSeminar")
With td
    .Fields.Append .CreateField("FirstName", dbText, 50)
    .Fields![FirstName].OrdinalPosition = 2
    .Fields.Refresh
End With

在特定位置添加一列时,您还需要将位置相同或更高的所有其他列向上移动一个位置,以释放要插入的位置

Set td = db.TableDefs("InformationSeminar")
Dim fld As Field
For Each fld In td.Fields
   With fld
        If .OrdinalPosition >= 2 Then
            .OrdinalPosition = .OrdinalPosition + 1
        End If
    End With
Next fld
With td
    .Fields.Append .CreateField("FirstName", dbText, 50)
    .Fields![FirstName].OrdinalPosition = 2
    .Fields.Refresh
End With