会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 数据表 > 正文

如何隐藏/显示某个表或者其他数据库对象?

时间:2009-04-06 08:42 来源:access911.net 作者:cg1 阅读:

 

 

 

 

 

 

 

回答:

如何隐藏/显示某个表或者其他数据库对象?《表》

方法一:

手动操作如下:
隐藏:右键单击某个表或者查询等对象->属性 ->隐藏
显示:菜单->工具->选项->视图->“隐藏对象”复选框前面打勾->确定后退出
右键单击某个表或者查询等对象->属性 ->去掉“隐藏”前面的勾

 


方法二:

最简单而有效的一个方法就是以“usys”开头命名。因为access认为这个字符串开头的是系统文件,而系统文件一般是不显现的。如果要看到,那么在“工具”-“选项”-“视图”中选中“系统对象”就可以了。记住,不要修改其他不属于你的文件,因为那很危险。

 

方法三:

用ADO编程隐藏表
sub hide_table()
    Dim cnn As New ADODB.Connection
    Dim cat As New ADOX.Catalog

    Set cat.ActiveConnection = CurrentProject.Connection
    Dim tbl As ADOX.Table
    Dim pro As Property
    For Each tbl In cat.Tables
    Debug.Print tbl.name
        For Each pro In tbl.Properties
            Debug.Print pro.name & "=" & pro.Value
        Next
        If tbl.name = "需要隐藏的表名" Then tbl.Properties.Item("Jet OLEDB:Table Hidden In access") = True
    Next
End Sub



同理,你还可以隐藏其他的数据库对象,一样使用 ADO

 


方法四:

用access内置的 SetHiddenAttribute 方法

SetHiddenAttribute 方法用于设置 access 对象的隐藏属性。

expression.SetHiddenAttribute(ObjectType, ObjectName, fHidden)

expression   必需。返回 Application 对象的表达式。

ObjectType  AcObjectType,必需。必须为 ObjectType 参数输入一个常量;acDefault 不是有效的输入项。

AcObjectType 可以是下列 AcObjectType 常量之一: 
acDataaccessPage 
acDefault 
acDiagram 
acForm 
acFunction 
acMacro 
acModule 
acQuery 
acReport 
acServerView 
acStoredProcedure 
acTable 

ObjectName  String 型,必需。字符串表达式,标识 access 对象的名称。

fHidden  Boolean 型,必需。值为 True 会设置隐藏属性,值为 False 则会清除隐藏属性。

说明
GetHiddenAttribute 和 SetHiddenAttribute 方法一起使用时,可提供一种通过 Visual Basic 代码改变对象隐藏属性的方法。使用这两个方法,可以设置或读取对象的“属性”对话框中可用的隐藏选项。

若要使用 SetHiddenAttribute 方法来设置该选项,可将参数设为 True 或 False,如下例所示。

Application.SetHiddenAttribute acTable,"Customers", True

 

方法五:



Function asdfasdfa()
    '直接设定 DAO 的 TABLEDEF 对象的 Attributes 属性等于1也可以
    For Each tabdef In CurrentDb.TableDefs
        Debug.Print tabdef.Name
        Debug.Print tabdef.Attributes
        If tabdef.Attributes = 0 Then
            tabdef.Attributes = 1
        End If
    Next

End Function



如果把属性更改为 -2147483646 就可以让 access 将其识别为系统表,而且是只读的。

 


方法六:


隐藏:

access 2000中在表的名字前加
~TMPCLP

要显示上述表:
新建一个查询,然后输入 SQL 

select * from msysobjects where name like '~TMPCLP*'


看见表名后用
select * from [~TMPCLP表名]


来查看所有的数据。

另外,用修复工具修复数据库可以看到一些有特定权限才能看到的表,ACCESS 有时候会隐藏一些表给他自己用,这些表不是正常 MDB 所拥有的系统表,所以在 access 中是看不见的。

(责任编辑:admin)

顶一下
(2)
100%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: