我試圖讓這段代碼在一個查詢中瀏覽每條記錄,并檢查每條記錄的JobGrade欄位的值。根據該值,兩個欄位將被加載數字。我正試圖在一個表單的一個事件中實作這段代碼。該代碼可以作業,但只適用于第一條記錄。我不知道我是否在錯誤的事件中實作了這段代碼,
。Private Sub Form_Load()
Dim db As DAO.資料庫
Dim rs As DAO.Resultset
Set db = CurrentDb
Set rs = db.OpenRecordset("Unassigned_Jobs") 'name of query如果 rs.Fields("Repeat") = 0 Then 'Repeat = falseIf rs.Fields("JobGrade") =1 Then
rs.Fields("1PercWorkLoad") =1
rs.Fields("2PercWorkLoad") = 0.
ElseIf rs.Fields("JobGrade") = 2 Then
rs.Fields("1PercWorkLoad") =3
rs.Fields("2PercWorkLoad") = 0.
ElseIf rs.Fields("JobGrade") = 3 Then
rs.Fields("1PercWorkLoad") =8
rs.Fields("2PercWorkLoad") = 2.4。
ElseIf rs.Fields("JobGrade") =4 Then
rs.Fields("1PercWorkLoad") =24
rs.Fields("2PercWorkLoad") = 4.8。
Else: rs.Fields("JobGrade") = 5
rs.Fields("1PercWorkLoad") = 40。
rs.Fields("2PercWorkLoad") = 4。
結束 If
ElseIf rs.Fields("Repeat") = -1 Then 'Repeat = trueIf rs.Fields("JobGrade") = 1 Then
rs.Fields("1PercWorkLoad") =1
rs.Fields("2PercWorkLoad") = 0.25。
ElseIf rs.Fields("JobGrade") =2 Then
rs.Fields("1PercWorkLoad") =3
rs.Fields("2PercWorkLoad") = 0.75。
ElseIf rs.Fields("JobGrade") = 3 Then
rs.Fields("1PercWorkLoad") =8
rs.Fields("2PercWorkLoad") = 0.6。
ElseIf rs.Fields("JobGrade") =4 Then
rs.Fields("1PercWorkLoad") =24
rs.Fields("2PercWorkLoad") = 1.2。
Else: rs.Fields("JobGrade") = 5
rs.Fields("1PercWorkLoad") = 40。
rs.Fields("2PercWorkLoad") = 1.
結束 If
End If
rs.Update
rs.MoveNext
rs.關閉
Set rs = Nothing
db.關閉
End Sub
uj5u.com熱心網友回復:
你需要將代碼放入一個回圈中,以便它能夠遍歷記錄。
Private Sub Form_Load()
Dim db As DAO.資料庫
Dim rs As DAO.Resultset
Set db = CurrentDb
Set rs = db.OpenRecordset("Unassigned_Jobs") 'name of query'好習慣,確保你從記錄1開始。
rs.Edit
Do Until rs.EOF 'Loop to the endIf rs.Fields("Repeat") = 0 Then ' Repeat = falseIf rs.Fields("JobGrade") =1 Then
rs.Fields("1PercWorkLoad") =1
rs.Fields("2PercWorkLoad") = 0.
ElseIf rs.Fields("JobGrade") = 2 Then
rs.Fields("1PercWorkLoad") =3
rs.Fields("2PercWorkLoad") = 0.
ElseIf rs.Fields("JobGrade") = 3 Then
rs.Fields("1PercWorkLoad") =8
rs.Fields("2PercWorkLoad") = 2.4。
ElseIf rs.Fields("JobGrade") =4 Then
rs.Fields("1PercWorkLoad") =24
rs.Fields("2PercWorkLoad") = 4.8。
Else: rs.Fields("JobGrade") = 5
rs.Fields("1PercWorkLoad") = 40。
rs.Fields("2PercWorkLoad") = 4。
結束 If
ElseIf rs.Fields("Repeat") = -1 Then 'Repeat = trueIf rs.Fields("JobGrade") = 1 Then
rs.Fields("1PercWorkLoad") =1
rs.Fields("2PercWorkLoad") = 0.25。
ElseIf rs.Fields("JobGrade") =2 Then
rs.Fields("1PercWorkLoad") =3
rs.Fields("2PercWorkLoad") = 0.75。
ElseIf rs.Fields("JobGrade") = 3 Then
rs.Fields("1PercWorkLoad") =8
rs.Fields("2PercWorkLoad") = 0.6。
ElseIf rs.Fields("JobGrade") =4 Then
rs.Fields("1PercWorkLoad") =24
rs.Fields("2PercWorkLoad") = 1.2。
Else: rs.Fields("JobGrade") = 5
rs.Fields("1PercWorkLoad") = 40。
rs.Fields("2PercWorkLoad") = 1.
結束 If
End If
rs.MoveNext '需要這個,否則你會無限回圈。
Loop
rs.Update
rs.關閉
Set rs = Nothing
db.關閉
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/314192.html
標籤:
