2016-07-28 84 views
0

是否有可能清空我的数据库中的每个表格?显然有一种使用方法:MS Access:清空数据库中的所有表格

CurrentDb.Execute "DELETE FROM Table1", dbFailOnError 

为每个表。

但是,我必须为每个表使用此代码。如果有与Loop或与表名无关的解决方案,那将会很好。

回答

4

可以循环通所有本地表使用代码

Dim tdf As TableDef 

For Each tdf In CurrentDb.TableDefs 
    If Left(tdf.Name, 4) <> "MSys" Then 
     CurrentDb.Execute "DELETE * FROM [" & tdf.Name & "]", dbFailOnError 
    End If 
Next 
End Sub 
+0

它的工作原理,但我得到了一个问题。一些表名包括“ - ”,例如“tblProducts-A”(我知道这个标题是愚蠢的 - .-)。这会导致语法错误。我该如何解决这个问题? – Flow74

+0

我以为CurrentDb.Execute“Delete * FROM [”&tdf.Name],dbFailOnError会有所帮助。但它不... – Flow74

+0

是的,你是对的,忘了括号。编辑答案。 –