2017-11-18 144 views
0

所以我一直负责创建一个跟踪数据库&我遇到了一个让我发疯的问题。在窗体上记录导航

我已经创建了一个输入表单,并且为了便于使用,我需要创建自定义导航按钮,我已经完成了这个工作,并且它们工作正常。 我已添加代码到当前事件以禁用按钮,如果在第一条记录/最后一条记录 - 再次这工作正常。

这是我卡住的地方,只要我禁用了内置的导航按钮,它就会禁用我创建的自定义按钮。如果我删除当前的事件代码,他们再次工作,但不是我打算如何。

我将不胜感激任何帮助,您可以提供,因为我还是新的学习的机会&我相信这是一个简单的解决&东西我没有做正确的 - 但我就是想不通,我已经包括了我的代码下面。

非常感谢您的帮助。

Option Compare Database 
Option Explicit 

Private Sub cmdBack_Click() 

    On Error Resume Next 

    DoCmd.GoToRecord , , acPrevious 
End Sub 

Private Sub cmdNew_Click() 

    On Error Resume Next 

    DoCmd.GoToRecord , , acNewRec 
End Sub 

Private Sub cmdNext_Click() 

    On Error Resume Next 

    DoCmd.GoToRecord , , acNext 

End Sub 

Private Sub Form_Current() 

    On Error Resume Next 

    If Me.CurrentRecord = 1 Then 

     Me.cmdBack.Enabled = False 

    Else 
     Me.cmdBack.Enabled = True 

    End If 

    If Me.CurrentRecord >= Me.Recordset.RecordCount Then 

     Me.cmdNext.Enabled = False 

    Else 
     Me.cmdNext.Enabled = True 

    End If 

    If Me.NewRecord Then 

     Me.cmdNew.Enabled = False 

    Else 
     Me.cmdNew.Enabled = True 

    End If 

End Sub 

回答

0

您可以使用的形式记录导航取代你DoCmd.电话。

Me.Recordset.MoveNext 'alternative to DoCmd.GoToRecord , , acNext 
Me.RecordSet.MovePrevious 'alternative to DoCmd.GoToRecord , , acPrevious 
Me.RecordSet.AddNew 'alternative to DoCmd.GoToRecord , , acNewRec 
0

非常感谢您对更新的代码 - 我不得不添加以下行让他们的工作,因为我intented虽然。

Me.RecordsetClone.MoveLast