2013-05-18 104 views
0

在我的MS Access窗體我想實現一個單獨的按鈕,增加了一個新的記錄表。 爲了做到這一點,我添加一個按鈕,連接到該按鈕的事件:新的記錄通過點擊按鈕在Microsoft Access表添加

Private Sub btnAddRec_Click() 
    Refresh 
    With CodeContextObject 
    On Error Resume Next 
    DoCmd.GoToRecord , , acNewRec 
    If Err.Number <> 0 Then 
    btnAddRec.Enabled = False 
    End If 
    End With 
End Sub 

一切都OK時,你只需打開窗口,然後單擊btnAddRec按鈕,問題是第一,當你全部通過現有記錄執行導航,並且僅在點擊此按鈕之後才執行導航。我得到的運行時錯誤:2105:«你不能去指定的記錄。您可能在一個記錄集的末尾»

如何解決這個問題,我需要補充上點擊特定的按鈕,無論是新的記錄能力,有我走還是不前通過記錄走去。

謝謝。

+0

什麼是CodeContextObject? –

回答

1

我創建了一個簡單的形式與字段呼叫描述(和自動編號)並創建了一個按鈕,通過如下點擊事件的代碼。我填充了許多記錄並通過它們導航,然後單擊addNewRec按鈕。表單導航到新記錄沒有問題。我也能夠成功打開表單後直接點擊addNewRec按鈕。

Private Sub btnAddRec_Click() 
On Error GoTo Err1 
    DoCmd.GoToRecord , , acNewRec 
    Exit Sub 
Err1: 
    Description.SetFocus 
    btnAddRec.Enabled = False 
    MsgBox (Err.Description) 

End Sub 

從包括你正在清除刷新和With語句,交給錯誤,禁用按鈕,顯示用戶的錯誤描述之前將焦點設置代碼的差異。我不知道你的表單是否相似,但是如果是這樣的話,這應該適用於你,並且我正確理解你的問題。

+0

我想你的代碼,並發現了,試圖打開窗體,向前走了一段記錄,之後點擊添加按鈕,我得到了錯誤。 –

+1

這很簡單,這段代碼適合我。如果你在表單中顯示所有的代碼,這應該工作。也許你應該重新開始。重新創建表單,並在這次添加addNewRec按鈕時,從命令按鈕嚮導中選擇「記錄操作」和「添加新記錄」。 –