2012-05-10 38 views
1

我想刪除一條記錄,然後移動到刪除的記錄之前。但我不能得到它的工作,現在我得到刪除記錄,並移動以前不工作

運行時錯誤2046命令或操作'DeleteReord'現在不可用。

我在這做錯了什麼?我該如何處理?

Private Sub Command24_Click() 
On Error GoTo Err_Command24_Click 

If Me![dbo_HR_Trainings Subform].Form.Recordset.RecordCount > 0 Then 
     MsgBox "You cannot delete a category that has members.", vbOKOnly 
     GoTo Exit_Command24_Click 
Else 

     Select Case MsgBox("Are you sure you want to delete this category?", vbYesNo, "Are you sure?") 
       Case vbYes 
         DoCmd.RunCommand acCmdSelectRecord 
         DoCmd.RunCommand acCmdDeleteRecord 

         DoCmd.GoToRecord , , acPrevious 
       Case Else 
     End Select 
End If 

Exit_Command24_Click: 
    Exit Sub 

Err_Command24_Click: 
    MsgBox Err.Description 
    Resume Exit_Command24_Click 

End Sub 
+0

您是否可以使用鼠標刪除記錄:在表單中選擇記錄 - >按Del鍵?你收到什麼信息? –

+0

@IgorTurman - 它處於表單模式,而不是數據表模式。我有一個按鈕,放在調用此代碼的表單上。 – MAW74656

+0

這很好。看起來像你隱藏記錄選擇按鈕。您能否讓該按鈕可見並嘗試手動刪除記錄? –

回答

1

看起來像你在調試模式下出現錯誤。不要在DoCmd命令上設置斷點。這將總是失敗。

如果不是這種情況,那麼在這裏你可以找到的可能方式之一來完成你想要什麼使用書籤: http://www.granite.ab.ca/access/positioning_on_a_continuous_form.htm

請注意,示例是連續形式,但你能得到的想法。

+0

沒有設置斷點 – MAW74656

+0

我不是真的看到我怎麼能在這裏使用它嗎? – MAW74656

+0

簡而言之,在刪除之前,你需要爲上一個記錄添加「書籤」。書籤。 –

相關問題