检查对象是否存在的函数-月皓星隐
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


检查对象是否存在的函数

发表时间:2015/1/22 21:29:39 评论(0) 浏览(5849)  评论 | 加入收藏 | 复制
   
摘 要:检查对象是否存在
正 文:

     本来在应用中想要删除某个对象,或者新建某个对象,却不知道该对象是否存在,如果要检查该对象又得一大串代码,所以为了节省时间,同时方便操作,特此编写了一函数判断是否存在。本来我是用循环的方式做的,参考了下会员“叶海峰”的帖子(原帖见 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群(群号:198465573)
 
 相关文章
判断指定文件是否存在  【ExcelHome  2008/10/27】
【译文】判断数据库中是否存在某个查询  【周芳  2012/5/14】
检查数据库内某对象是否存在(错误陷阱法)  【叶海峰  2012/9/1】
判断表中是否存在某个字段的函数  【金宇  2012/12/17】
检测网站目录下的某个文件是否存在的函数  【金宇  2013/2/25】
sqlserver中判断表或临时表是否存在  【平常心  2013/7/22】
判断MS SQLSERVER临时表是否存在  【smeyou  2013/9/30】
【转】检测文件或文件夹是否存在的两个函数  【Allen Browne  2014/1/28】
SQL加速|升迁至SQLServer数据库后,如果存在左联接或者右...  【金宇  2014/4/15】
常见问答
技术分类
相关资源
文章搜索
关于作者

月皓星隐

文章分类

文章存档

友情链接