2017-09-26 77 views
0

我想使用Alter Table语句将一些字段添加到表中。我想在添加字段时控制字段的位置。我尝试了下面的语法,它会添加字段,但它不会被添加到位置2,它会被添加到表格中的最后一个位置。访问VBA设置字段位置

这应该如何改变以控制添加的字段的位置?

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

回答

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