未按与 Access 相同的顺序查询的字段 table

Fields not queried in same order as Access table

我在 MS Access 中有两个简单的 VBA 函数来复制和粘贴条目。但是,当我复制条目时,字段的顺序不同。我在访问 table 中有十个字段,从 1-10 排序,但是当复制数据时,最终是 1-8、10、9。位置9的字段是新添加的字段,所以我的想法是有一个字段索引,它的ID实际上是10而不是9,但我看不出有什么地方可以改变。

不幸的是,我不是专家,也不是构建此 Access 数据库的人,所以我犹豫是否要对代码进行太多更改,以免破坏其他内容。

复制功能参考如下:

Private Sub Copy_Click()
Dim RS As DAO.Recordset, i As Integer
Set RS = Me.Recordset
With RSC
    .FindFirst "[User] = '" & Active_User & "'"
    If .NoMatch Then
        .AddNew
    Else
        .Edit
    End If
    For i = 0 To .Fields.Count - 1
        .Fields(i).Value = RS.Fields(i).Value
    Next
    .Update
End With
Me.Paste.Enabled = True
End Sub

非常感谢任何帮助。

如果有问题的字段是数字字段,您可以将其放在 ORDER BY 部分,例如我有一个名为 RESID[=15 的字段=], 是数值字段,不是主键

SELECT 
Table1.Rente_RES, Table1.Montant_Capital_Consitutif_N, Table1.Rente_RESID
FROM Table1
ORDER BY Table1.RESID;

不确定如何强制 Access 使用不同的字段顺序,但如果源和目标具有相同的列,请通过名称访问字段。

For i = 0 To .Fields.Count - 1
    fieldName = RS.Fields(i).name
    .Fields(fieldName).Value = RS.Fields(fieldName).Value
Next