Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如批量删除数据库中的对象

amwss  发表于:2013-07-05 15:58:02  
复制

我是新手,我想通过按钮批量删除数据库的表或窗体或查询等对象,求代码,多谢!

 

Top
落尘_小新 发表于:2013-07-05 16:38:25

利用 DeleteObject 方法即可

例如:删除  表1 代码如下:

 DoCmd.DeleteObject acTable, "表1" 

删除其它对象,同理,只需更改第一个参数。相关参数可按 F1 键获得帮助。



落尘_小新 发表于:2013-07-05 16:40:37

另说一个好办法,那就是利用宏转换成代码来学习此方法的使用。

你可以新建一个宏,用 DeleteObject 操作来分别删除数据库的各种对象,然后,你把建立的宏转换成代码,看一下就学会了。



麥田 发表于:2013-07-05 20:07:43
Private Sub Cmd_ALLTbl_Click()
    If MsgBox("您确认要删除所有的<表>对象吗?请慎重,一旦删除即无法恢复", vbOKCancel + vbDefaultButton2 + vbExclamation, "提示!!!!") = vbOK Then
        '删除所有表代码如下
        Dim rst As Object
        '对象类型1代表是表
        Set rst = CurrentProject.Connection.Execute("Select Name FROM MsysObjects Where flags=0 AND (MSysObjects.Type)=1 orDER BY MSysObjects.Name")
        Do While Not rst.EOF
            DoCmd.DeleteObject acTable, rst("Name")
            rst.MoveNext
        Loop
        rst.Close
        Set rst = Nothing
        MsgBox "所有表已删除完成!", vbInformation, "提示:"
    End If
End Sub

麥田 发表于:2013-07-05 20:08:44
Dim rst As Object
Set rst = CurrentProject.Connection.Execute("Select Name FROM MsysObjects Where flags=0 AND (MSysObjects.Type)=5 orDER BY MSysObjects.Name")
Do While Not rst.EOF
DoCmd.DeleteObject acQuery, rst("Name")
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
MsgBox "所有查询删除已完成!"

麥田 发表于:2013-07-05 20:10:33

如果要删除指定的名称  可以参考我以前写的示例

 

【Access入门示例】用命令按钮删除Access各种对象类型的示例,access删除表命令,删除窗体命令[Access软件网]
http://www.accessoft.com/article-show.asp?id=7647

 

 

在代码里面加上指定对象的名称即可 执行



总记录:5篇  页次:1/1 9 1 :