我想要一个VBA循环函数,它将删除任何名称为“d2s _ *”的表中的所有记录。
我找到了删除所有记录的代码:
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM NameOfTable"
DoCmd.SetWarnings True
我还找到了一个循环来调用数据库中的每个表:
Dim T As TableDef
For Each T In CurrentDb.TableDefs
Debug.Print T.Name
Next T
所以我想要的是将它们结合起来:
Dim T As TableDef
For Each T In CurrentDb.TableDefs
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM NameOfTable"
DoCmd.SetWarnings True
Next T
但据我了解,SQL查询必须引用特定的表名。有没有办法让这个相对于任何以名称“d2s _”开头的表?
答案 0 :(得分:5)
尝试:
Dim T As TableDef
DoCmd.SetWarnings False
For Each T In CurrentDb.TableDefs
If T.Name Like "d2s_*" Then
DoCmd.RunSQL "DELETE * FROM " & T.Name
End If
Next T
DoCmd.SetWarnings True