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

检查对象是否存在的函数

时 间:2015-01-22 21:29:39
作 者:月皓星隐   ID:39720  城市:自贡
摘 要:检查对象是否存在
正 文:

     本来在应用中想要删除某个对象,或者新建某个对象,却不知道该对象是否存在,如果要检查该对象又得一大串代码,所以为了节省时间,同时方便操作,特此编写了一函数判断是否存在。本来我是用循环的方式做的,参考了下会员“叶海峰”的帖子(原帖见 http://www.accessoft.com/article-show.asp?id=7409),根据其思路发现还有更简单的方法

特此修改如下:

'**********************************************************************
'程序功能:本程序用来判断数据库中的对象是否存在
'
'程序名称:存在否
'
'程序参数:对象名称 ,对象类型 1为表,2为查询,3为报表,4为窗体,5为宏,6为模块
'
'使用范围:适合所有access2010、2013 其他版本没试过
'
'使用范例:存在否 "临时表",1  代表‘临时表’表是否存在 返回一个真假值
'
'程序作者:月皓星隐
'
'编外的话:其实还可以用循环来判断,不过能最精简最好,所以这是目前我最简单的一种方式
'
'参考资料:CurrentData.AllQueries,CurrentProject.AllForms 和 CurrentDb.TableDefs
'
'编写时间:2015-01-22
'***********************************************************************
Function 存在否(ByVal 对象名称 As String, ByVal 对象类型 As Integer) As Boolean
On Error GoTo 不存在
Dim obj As Object
Select Case 对象类型
Case 1: Set obj = CurrentDb.TableDefs(对象名称)
Case 2: Set obj = CurrentData.AllQueries(对象名称)
Case 3: Set obj = CurrentProject.AllForms(对象名称)
Case 4: Set obj = CurrentProject.AllReports(对象名称)
Case 5: Set obj = CurrentProject.AllMacros(对象名称)
Case 6: Set obj = CurrentProject.AllModules(对象名称)
Case Else: MsgBox "暂时未开发其他对象,谢谢使用!!" & vbCrLf & _
"对象类型 1为表,2为查询,3为报表,4为窗体,5为宏,6为模块": Exit Function
End Select
存在否 = True
Set obj = Nothing
Exit Function
不存在:
存在否 = False
Set obj = Nothing
End Function


下面效果见附件
点击下载此附件



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

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