簡體   English   中英

Microsoft Access forms,刪除記錄按鈕錯誤

[英]Microsoft Access forms, delete record button error

我必須使用從 postgresql 鏈接的數據庫在 ms 訪問中創建 forms。

forms需要顯示刪除記錄等功能,這就是我的問題所在。 我創建了一個帶有刪除命令的按鈕:

Private Sub Delete_Click()

    If MsgBox("Are you sure?", vbYesNoCancel) <> vbYes Then
        Exit Sub
    End If
    DoCmd.RunCommand acCmdDeleteRecord

End Sub 

但是,當我按下它時,該命令被取消並出現 2501 運行時錯誤。

我才剛剛開始使用 ms access 和任何類型的命令,所以我不確定如何解決這個問題。

我沒有嘗試任何東西,因為似乎沒有其他人遇到過這個問題。

通常這意味着底層鏈接表不包含有關表的索引方案的足夠信息以了解如何制定 DELETE 語句。 具體來說,它不知道主鍵是什么,因此它可以生成只刪除一行的 DELETE 語句。

您可以通過打開鏈接表本身、突出顯示該行並按刪除來驗證這是否是您的問題。 如果無法從表中刪除該行,您將無法從基於它的表單中刪除它。

如果是這種情況,要解決它,請右鍵單擊該表並運行鏈接表管理器。 重新鏈接表時,如果 Access 需要有關索引架構的更多信息,它將提示您提供。 通過選擇組成主鍵的列來幫助它。 它會將此信息與鏈接表一起緩存,您應該能夠從表單中刪除當前行。

另一種方法是創建一個 DELETE 查詢,在 WHERE 條件下引用表單中的 ID(即 Forms.MyForm,ThePKFieldName),然后,在按鈕后面的代碼中,替換

DoCmd.RunCommand acCmdDeleteRecord

 DoCmd.OpenQuery "qryYourQuery" 

請參閱此文檔: https://learn.microsoft.com/en-us/office/vba/api/access.docmd.openquery

如果這仍然不起作用,您的 ODBC 驅動程序可能需要更新,或者您可以使用替代驅動程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM