Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

【Access基础】清除数据库中所有的表的数据

时 间:2020-04-22 21:46:10
作 者:name   ID:63090  城市:临汾
摘 要:清除数据库中所有的表的数据,并且设置自增长的列从1开始计数。
正 文:

问   题:

在Access论坛看到一位网友的问题:清除表中的所有数据,并且自增长的列,从1开始。

整理了一下答案,方便以后需要的朋友使用。


解决方法:

1、先遍历所有表,对除了系统表外,都执行删除操作;

2、对表中左右的字段进行遍历,如果是自增长的字段,设置序号从1开始。

使用以下代码可以解决:

Function delete_all()
    '遍历所有表
    For i = 0 To CurrentDb.TableDefs.Count - 1
        '如果是系统表,不清除数据
        If CurrentDb.TableDefs(i).Name Like "*Sys*" = False Then
            '清除表中所有数据
            CurrentDb.Execute "delete * from [" + CurrentDb.TableDefs(i).Name + "]"
            '遍历表中所有字段
            For j = 0 To CurrentDb.TableDefs(i).Fields.Count - 1
                '如果当前字段是自增长 设置当前字段从1开始
                If (CurrentDb.TableDefs(i).Fields(j).Type = 4) Then
                    CurrentDb.Execute "Alter TABLE [" + CurrentDb.TableDefs(i).Name + "] Alter COLUMN [" + CurrentDb.TableDefs(i).Fields(j).Name + "] COUNTER (1, 1)"
                    Exit For
                End If
            Next j
        End If
    Next i
End Function


Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助