Vba 强制注销脚本
我不是最伟大的VB程序员,所以我需要一只手。 我正在尝试编写一个脚本,如果员工在2359后未能注销,则强制他们在我的访问时间卡中注销。我一直得到的错误是: TimeclockF.cmdForce\u单击--在此集合中找不到项 我不确定我搞砸了什么 时钟是我的形式 .cmdForce是调用脚本的按钮Vba 强制注销脚本,vba,ms-access,Vba,Ms Access,我不是最伟大的VB程序员,所以我需要一只手。 我正在尝试编写一个脚本,如果员工在2359后未能注销,则强制他们在我的访问时间卡中注销。我一直得到的错误是: TimeclockF.cmdForce\u单击--在此集合中找不到项 我不确定我搞砸了什么 时钟是我的形式 .cmdForce是调用脚本的按钮 Private Sub cmdForce_Click() ' Comments: ' Params : Force check out on blank check out date
Private Sub cmdForce_Click()
' Comments:
' Params : Force check out on blank check out dates
On Error GoTo PROC_ERR
Dim strSQL As String, db As DAO.Database, rs As DAO.Recordset
If MsgBox("Are you sure you want to proceed? This will check all the visitors with no check out " & _
"date!", vbYesNo + vbQuestion + vbDefaultButton2, "Are you Sure?") = vbNo Then Exit Sub
strSQL = "Select * from TimeTable Where TimeOut Is Null"
Set db = CurrentDb
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
If Not rs.EOF Then
Do While Not rs.EOF
rs.Edit
rs!TImeOut = #11:59:00 PM#
rs!ForceCheckOut = True
rs.Update
rs.MoveNext
Loop
End If
Set db = Nothing
Set rs = Nothing
PROC_EXIT:
Exit Sub
PROC_ERR:
MsgBox Err.Description, vbCritical, Me.Name & ".cmdForce_Click"
Resume PROC_EXIT
End Sub
注释掉你的错误处理程序
上的错误转到PROC_ERR
,这样你就会看到哪一行实际上失败了。很可能是你的一个字段名中的拼写错误。此外,你不需要像这样的更新记录集循环-一个更新查询会容易得多。是的,你的权利,我可以写一个查询。我想表现得太花哨了。谢谢注释错误处理程序或设置断点并进行步骤调试。在错误转到PROC_ERR时注释掉错误处理程序,以便查看哪一行实际失败。最有可能是某个字段名中的拼写错误。此外,像这样的更新不需要记录集循环-一次更新查询会容易得多。是的,我可以写一个查询。我想表现得太花哨了。谢谢注释错误处理程序或设置断点并进行步骤调试。