Loop中的一行代码会产生不良结果

时间:2017-05-11 19:45:41

标签: vba loops ms-access access-vba

以下代码将所选记录的值复制到表单上的所有记录中。

但是,代码中的这一行给了我不良结果

.Fields("ResultsID").Value = Me.TestResultID.Value

不是将每条记录的TestResultID复制到ResultsID中,而是使所有ResultsID与所选记录的TestResultsID相同。

移动该行代码的最佳位置在哪里?

With Me.RecordsetClone
.MoveFirst
Do While .EOF = False
If .Fields("[Ordered Analyte]").Value = Me.[Ordered Analyte].Value Then
.Edit
    .Fields("DateStarted").Value = Me.DateStarted.Value
    .Fields("TimeStarted").Value = Me.TimeStarted.Value
    .Fields("DateCompleted").Value = Me.DateCompleted.Value
    .Fields("TimeCompleted").Value = Me.TimeCompleted.Value
    .Fields("Result").Value = Me.Result.Value
    .Fields("Count").Value = Me.[txtCount].Value
    .Fields("ResultsID").Value = Me.TestResultID.Value
.Update
End If
.MoveNext
Loop
End With

2 个答案:

答案 0 :(得分:0)

替换

.Fields("ResultsID").Value = Me.TestResultID.Value

.Fields("ResultsID").Value = .Fields("TestResultsID").Value

使用每个记录中的TestResultsID而不是当前记录。

答案 1 :(得分:0)

  

以下代码将所选记录的值复制到所有记录中   在我的表格上。

  

它使所有ResultsID与所选记录的TestResultsID相同。

因此,您的代码完全符合预期