我試圖根據在「作業」列中分配的作業類型將循環名稱放入「任務」列中。我的表看起來像這樣的例子:訪問VBA中的循環記錄
我的代碼如下:
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後,它不會,並且在完成後會出現如上。有任何想法嗎?
對不起關於屏幕截圖的差異,我試圖看看當我將所有4個任務設爲同一個名稱時會發生什麼。無論是2,3或4個任務是否分配,都會發生此問題,這正是我正在測試的。我的想法是創建一個表單,允許運行宏的人員選擇可供分配的人員的複選框,然後根據檢查的人員來匹配大小以適應大小,然後將其分配出去。然而,不同的員工會做不同的事情,所以我需要區分誰做什麼以及他們是否在場。 – 2013-02-10 01:52:08
好的,我有一個預感,這件事情會比問題更復雜。 ;-)所以,你有一些未定數字(但可能大於2)的員工姓名。在*你爲*任務*分配一個名字之後增加'i' *,但是如果'i = UBound(employee)+ 1',則將'i'設爲零。這仍然留下了如何收集名稱以加載到數組中的問題,但我們假設您已經完成了該部分。 – HansUp 2013-02-10 01:59:38
感謝您的想法,我將嘗試按照建議創建第二個記錄集,並使用複選框指示符指示是否應該導入,分配或跳過這些人員處理的作業名稱。感謝上面的例子,我打算玩一下,看看我想出什麼 – 2013-02-10 02:02:15