Vba 强制注销脚本

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

我不是最伟大的VB程序员,所以我需要一只手。 我正在尝试编写一个脚本,如果员工在2359后未能注销,则强制他们在我的访问时间卡中注销。我一直得到的错误是:

TimeclockF.cmdForce\u单击--在此集合中找不到项

我不确定我搞砸了什么

时钟是我的形式

.cmdForce是调用脚本的按钮

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时注释掉错误处理程序
,以便查看哪一行实际失败。最有可能是某个字段名中的拼写错误。此外,像这样的更新不需要记录集循环-一次更新查询会容易得多。是的,我可以写一个查询。我想表现得太花哨了。谢谢注释错误处理程序或设置断点并进行步骤调试。