隐藏查询的示例-name
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


隐藏查询的示例

发表时间:2018/9/11 8:59:11 评论(0) 浏览(5535)  评论 | 加入收藏 | 复制
   
摘 要:论坛网友询问如何彻底隐藏查询,所写的一个提供参考的示例
正 文:

一、问题描述:

通过自带的 SetHiddenAttribute  函数隐藏了的查询,如果勾选了显示隐藏对象,查询仍然是可见的,希望寻找一个可以彻底隐藏掉查询的方法:

二、相关代码:

Function setHidenQuery(qryName As String, booHide As Boolean)
    CurrentDb.TableDefs("YSys参数").Attributes = 1
    On Error Resume Next
    Dim tblName As String
    Dim rst As DAO.Recordset
    
    Set rst = CurrentDb.OpenRecordset("select * from YSys????")
    rst.FindFirst ("strName='" & qryName & "'")
    tblName = "__TMPTableName"

    If booHide = True Then
        If rst![strName] <> qryName Then
            If (CurrentDb.QueryDefs(qryName).Type = dbQCompound) or _
                CurrentDb.QueryDefs(qryName).Type = dbQCrosstab or _
                CurrentDb.QueryDefs(qryName).Type = dbQSelect or _
                CurrentDb.QueryDefs(qryName).Type = dbQSetOperation Then
                CurrentDb.Execute "Select * INTO " & tblName & " FROM " & qryName
                CurrentDb.TableDefs(tblName).Attributes = 1
            End If
            rst.AddNew
            rst![strName] = qryName
            rst![strSQL] = CurrentDb.QueryDefs(qryName).SQL
            rst![strType] = CurrentDb.QueryDefs(qryName).Type
            rst.Update
            CurrentDb.QueryDefs().Delete qryName
            CurrentDb.TableDefs(tblName).Name = qryName
        End If
    End If

    If booHide = False Then
        If rst![strName] = qryName Then
            If (rst!strType = "160" or rst!strType = "16" or rst!strType = "0" or rst!strType = "128") Then
                CurrentDb.TableDefs().Delete qryName
            End If
            Call CurrentDb.CreateQueryDef(qryName, rst![strSQL])
            rst.Delete
        End If
    End If

    rst.Close
    Set rst = Nothing
    
End Function 


、示       例:

点击下载此附件


Access软件网交流QQ群(群号:198465573)
 
 相关文章
如何显示隐藏对象与系统对象   【UMVsoft整理  2006/3/2】
【access示例】用代码隐藏表\通过代码将表彻底隐藏的示例\把表...  【红尘如烟  2012/6/5】
显示隐藏表  【李制樯  2014/2/13】
用VBA显示或隐藏全部ACCESS对象  【Big Young  2017/10/30】
Access隐藏列/Access自带取消隐藏列;请问Access子...  【金宇  2018/8/4】
常见问答
技术分类
相关资源
文章搜索
关于作者

name

文章分类

文章存档

友情链接