Access数据库中隐藏的表

在ACCES中隐藏表:如果你想在数据库窗口中隐藏你不想让其它用户选择的表,你可以在前面加上前缀'Usys'。例如,如果你的表名为:Employee,将它改名为:UsysEmployee,这将使你的表加入到系统对象中,这样ACCESS就不会显示它。

如果以后要看这个表,可以通过选择菜单--工具--选项--视图中勾选“系统对象”来在数据库窗口中操作该表。
法一:
(已测试)
如果你想在数据库窗口中隐藏你不想让其它用户选择的表,你可以在前面加上前缀'Usys'。例如,如果你的表名为:Employee,将它改名为:UsysEmployee,这将使你的表加入到系统对象中,这样ACCESS就不会显示它。如果以后要看这个表,可以通过选择菜单--工具--选项--视图中勾选“系统对象”来在数据库窗口中操作该表。


法二:

~TMPCLP

可以隐藏这个表,用查看系统或隐藏对象也无法看到,但可以在MSysObjects这个表中查得。

在关闭数据库或压缩数据库后,该表不会消失。

另外手工删除表时,系统也会自动命名这个为 ~TMPCLPXXXXXX,不过和手工改表名称不同,被删除的表在MSysObjects的 Flags 字段值为4097,在关闭数据库或压缩数据库后,该表将消失。

今天在看一套asp系统,分析代码的时候,打开数据库发现只有一张notdown的表,可是网页正常显示.内容也对,都是从数据库出来的.奇怪了,怎么看不到表?于是查看了下access帮助手册,发现原来Access2000还可以这样玩.由于Access默认是不显示系统对象和隐藏对象的.所以如果一个表中存在隐藏对象或者系统对象那么就无法看到表了.
      这里简单说下隐藏方法,设计好表后右击表选择"属性"->"隐藏"属性打勾,刷新下就看不到了,这样就是隐藏对象了,默认是看不到的.至于系统对象,我们可以修改表的前缀为 usys,这样就可以把表改成一个系统对象.这2种方法都可以.作为程序员可以考虑这点,隐藏关键表,也许可能蒙过一些新手.不过这种治标不治本,可以考虑加密.
     至于作为安全爱好者,遇到这种问题就会纳闷,其实也不难.要访问这些只要按如下操作:“工具”菜单->“选项”命令->“视图”选项卡->选中“显示”一栏下的“系统对象”复选框或者"隐藏对象"复选框,并按下“确定”按钮,就可以重新显示这个表了,完成了....

posted @ 2011-08-26 10:30  Athrun  阅读(1799)  评论(0编辑  收藏  举报