访问VBA SQL语句未在最后一条记录上运行

时间:2015-03-06 00:45:48

标签: vba ms-access sql-update access-vba

我正在使用Access 2007.此数据库未链接到任何SQL Server或类似的东西。我有一个带有按钮的表单

  1. 运行SQL更新语句以在记录上添加时间戳
  2. 转到下一条记录
  3. 运行另一个SQL更新语句,在新记录上放置一个开始时间戳,以及人员ID#。
  4. 问题是,当我在第二个到最后一个记录并点击此按钮转到最后一个记录时,第二个 SQL语句不起作用(但不是抛出错误)。我转到最后一条记录并做我的事情,然后我结束了会话,当我查看表时,应该通过语句输入的数据不存在。

    有没有人知道为什么会这样?这是我的代码,除了第二个最后/最后一个记录运动​​以外的所有代码。 FWIW,如果我拿出错误处理的话,我也有同样的问题。

    Private Sub StopNextButton_Click()
    On Error GoTo NextButtonError
    '
    DoCmd.SetWarnings False
    '
    GetID = Forms!frm_MainMenu!AssocIDBox
    CurRecord = Forms!frm_EC_L1_L2![L#].Value
    '
    DoCmd.RunSQL "UPDATE tbl_Data SET tbl_Data.[tsEndAll] = Now WHERE tbl_Data.[L#] = " & CurRecord & " AND (tbl_Data.[ECName] Like 'L1*' OR tbl_Data.[ECName] Like 'L2*') "
    '
    DoCmd.GoToRecord , , acNext
    '
    Me.Requery
    '
    DoCmd.RunSQL "UPDATE tbl_Data SET tbl_Data.[AssocID] = " & GetID & " , tbl_Data.[tsStartAll] = Now WHERE tbl_Data.[AssocID] Is Null AND tbl_Data.[SLS#] = " & CurRecord & " AND (tbl_Data.[ECName] Like 'L1*' OR tbl_Data.[ECName] Like 'L2*') "
    '
    Exit_NextButtonError:
    DoCmd.SetWarnings True
    Exit Sub
    '
    NextButtonError:
    '
    MsgBox "There are no more L1 or L2s in the queue!", vbOKOnly, "No More!"
    '
    DoCmd.Close acForm, "frm_EC_L1_L2", acSaveNo
    '
    DoCmd.Close acForm, "frm_MainMenu"
    DoCmd.OpenForm "frm_MainMenu", acNormal, , , acFormAdd, acWindowNormal
    '
    Resume Exit_NextButtonError
    '
    DoCmd.SetWarnings True
    '
    End Sub
    

0 个答案:

没有答案