2013-07-23 47 views
0

我正在尋找一個函數或子模塊(我可以調用它來刪除名稱中包含「tbl」的所有表)。我發現了幾段不正確的代碼。刪除名稱中包含<String>的所有表


爲了澄清我的問題:

我在訪問工作。在我的項目中,我使用VBA生成一些表格。我不知道這些表的名字是什麼。我知道我想刪除的表格(「DROP」)的名稱中有「tbl」。

我所尋找的是代碼,不會是這樣的:

DoCmd.runSQL (DROP ALL TABLE LIKE '%tbl%') 

我知道這個代碼不工作,但它應該給的,我想怎樣一點點的見解,以實現

回答

5

我沒有「獲得訪問」的權利,但你可以創建一個宏,喜歡的東西:

Sub Delete_tbl 
    Dim t as TableDef 
    For Each t In CurrentDB.TableDefs 
     If t.Name Like "tbl*" Then DoCmd.runSQL("DROP TABLE " & t.Name) 
    Next 
End Sub 
+0

我簡直不敢相信我已經尋找這種超過4小時!像一個魅力 – Gutanoth

+0

的作品,如果你不確定字符串中的什麼地方會發生這種情況,顯然你可以在前面添加一個*「* tbl *」。 –

+0

很好的解決方案。任何人將刪除所有表,使用'不喜歡「MSys *」'來防止(錯誤)丟棄Access的系統表 –

相關問題