我想使用Alter Table
语句向表中添加几个字段。我想在添加字段时控制字段的位置。我尝试了下面的语法,它将添加字段,但它没有添加到位置2,它被添加到表中的最后一个位置。
为了控制被添加的字段的位置,应该如何改变?
Set td = db.TableDefs("InformationSeminar")
With td
.Fields.Append .CreateField("FirstName", dbText, 50)
.Fields![FirstName].OrdinalPosition = 2
.Fields.Refresh
End With
答案 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