设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2009|回复: 6
打印 上一主题 下一主题

[窗体] [VBA 代码] 求助删除数据库自身的代码

[复制链接]
跳转到指定楼层
1#
发表于 2013-12-26 16:55:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
运行系统时判断当前后台数据库不在指定路径下时,运行删除数据库自身的代码。论坛已经搜索了没有。请教。谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2013-12-26 17:06:28 | 只看该作者
程序正在运行时,不能删除本身的文件
可能你要想多种变相的方法,如让程序,运行另一个程序,再让另一个程序关闭这个程序,再删除原本的程序
3#
发表于 2013-12-26 18:39:05 | 只看该作者
做个批处理文件,在前台调用
4#
 楼主| 发表于 2013-12-27 14:58:46 | 只看该作者
先谢谢两位!
5#
发表于 2013-12-28 12:24:34 | 只看该作者
6#
 楼主| 发表于 2013-12-30 16:28:52 | 只看该作者
谢谢 todaynew。我学习下,
7#
 楼主| 发表于 2013-12-31 11:48:42 | 只看该作者
以下代码测试可以删除自身数据库的表,查询。请问窗体,报表,宏,模块的删除代码如何写?
   
   Dim tdf As dao.TableDef
     Dim qrydf As dao.QueryDef
     Dim dbs As dao.Database
     Set dbs = CurrentDb
  
  '删除数据表
        For Each tdf In dbs.TableDefs
         If Left(tdf.Name, 1) = "t" Then
             DoCmd.DeleteObject acTable, tdf.Name
         ElseIf Left(tdf.Name, 3) = "P" Then
             DoCmd.DeleteObject acTable, tdf.Name
         ElseIf Left(tdf.Name, 1) = "F" Then
             DoCmd.DeleteObject acTable, tdf.Name
         ElseIf Left(tdf.Name, 1) = "L" Then
             DoCmd.DeleteObject acTable, tdf.Name
          End If
     Next tdf
  
  '删除查询
         For Each qrydf In dbs.QueryDefs
         If Left(qrydf.Name, 1) = "Q" Then
             DoCmd.DeleteObject acQuery, qrydf.Name
            End If
     Next qrydf
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 04:02 , Processed in 0.096034 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表