DAO中删除表和记录及处理自动编号2011-08-29删除表:CurrentDb.Execute "DROP TABLE [表名] "批量删除指定记录:
strSql = "DELETE * FROM [表名] WHERE [lngNodeId]<>1"
CurrentDb.Execute strSql
自动编号字段比较讨厌,如果你删除了记录之后再添加,记录编号会从删除的 地方之后继续增加。比如你有10001条记录,删掉最后10000条,然后添第2条记录 ,记录编号就会是10002.解决这个问题的办法,就是造个一模一样的新表,把原 始记录拷过去,把老表删了,把新表名改成老表名。下面这个例子的效果就把老 表删的只剩一条记录,而且自动编号的记忆也被清除了:view plaincopy to clipboardprint?"把表拷到临时表,就删掉了自动编号的记忆
strSql = "SELECT tblTestTree2.* INTO [tblTmp] FROM [老表] WHERE [lngNodeId]=1"
CurrentDb.Execute strSql
"删掉原来的表CurrentDb.Execute "DROP TABLE 老表""生成一个原来的表同名的表,把数据从临时表拷回去
strSql = "SELECT * INTO [老表] FROM [tblTmp];"
CurrentDb.Execute strSql
CurrentDb.Execute "DROP TABLE [tblTmp] "