2015-05-13 64 views
0

我很新使用VBA,但我需要做的只是刪除表中的所有記錄。無法讓我的SQL刪除表中的所有記錄

我已首次創建模塊,並具有在其內將以下代碼:

Function DeleteRecords() 

DoCmd.RunSQL "DELETE * FROM [7 FUF]" 

End Function 

我然後創建具有一個命令,RunCode的宏。 傳遞給此命令的函數名稱是DeleteRecords()。當我開始鍵入功能名稱部分時,它確實建議DeleteRecords,所以我相信它正在看到該功能。

當運行宏,我得到你輸入的錯誤

表達式具有函數名稱的Microsoft Access 找不到

任何想法我做錯了嗎?

+0

是不正確的語法'從[表]'刪除? (沒有星號) – PSVSupporter

+0

@PSVSupporter我認爲MS Access允許非常規的'*'。我必須查看它。 https://msdn.microsoft.com/en-us/library/bb177896%28v=office.12%29.aspx –

+0

它是一個公共職能? – PSVSupporter

回答

1

您可能還需要考慮完全繞過宏,做這樣的事情:

CurrentDB.Execute 「DELETE * FROM [表]」

或者

創建DELETE查詢和存儲它在數據庫中,然後做一個DoCmd.OpenQuery

2

其實問題不是來自函數。我相信你的module和你的function有相同的名字,因此有衝突。如果他們這樣做,請確保您將module的名稱更改爲其他類似:DeleteRecordsMod。
這是一個已知和常見的訪問問題。同時確保該功能可公開訪問。
在你的代碼,你並不真正需要的*作刪除一切

DoCmd.RunSQL "DELETE FROM [7 FUF]"