2017-09-26 75 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