「JOB」列で割り当てられているジョブのタイプに応じて、名前を「TASK」列にラウンドロビンしようとしています。たとえば、私のテーブルは次のようになります。
私のコードは次のとおりです。
Sub macro2()
Dim Rst As DAO.Recordset
Set Rst = CurrentDb.OpenRecordset("table1")
Dim employee(2) As String
employee(0) = "empname1"
employee(1) = "empname2"
Dim i As Integer
With Rst
i = 0
Rst.MoveFirst
Do While Not .EOF
If Rst.Fields("JOB") = "LETTER" Then
Rst.Edit
Rst.Fields("Task").value = employee(i)
Rst.Update
End If
.MoveNext
i = i + 1
If i > 2 Then i = 0
Loop
End With
DoCmd.Requery
End Sub
問題は、割り当てを「見逃す」ことがあり、その理由がわかりません。
これらの2つの名前を列にループし続ける必要がありましたが、そうではありません。ただし、数回実行した後でも実行される場合があります。DBを新しく開くと、開かず、完了すると上記のように表示されます。何か案は?