2017-11-18 177 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