访问VBA以设置字段位置

时间:2017-09-26 16:52:36

标签: vba access-vba ms-access-2013

我想使用Alter Table语句向表中添加几个字段。我想在添加字段时控制字段的位置。我尝试了下面的语法,它将添加字段,但它没有添加到位置2,它被添加到表中的最后一个位置。

为了控制被添加的字段的位置,应该如何改变?

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

1 个答案:

答案 0 :(得分:2)

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

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