设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: roych
打印 上一主题 下一主题

[加解密/安全] 有没有用MSysObjects找不到的表?

[复制链接]

点击这里给我发消息

11#
发表于 2011-1-13 16:05:07 | 只看该作者
todaynew 发表于 2011-1-13 09:19
呵呵,你在和十段同志拍砖呀。
支持拍砖,但希望相互尊重,以解决问题为目的。

老头的点评真是精妙绝伦!我再说任何都显得多余。。。
12#
发表于 2011-1-13 16:06:13 | 只看该作者
roych 发表于 2011-1-13 15:11
用DAO总能找得到表名称吧?应该是加载项里设置了属性,下班后回去看看那几个函数~~

实现的方法肯定是有多种,但我用的都不是你所述的那些方法,真心希望你通过研究也能取得收获,不过我那个插件对链接表也同样起到隐藏效果,请看下面的动态效果:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
13#
发表于 2011-1-13 16:07:10 | 只看该作者
MDE文件,想借来用用都不行!
14#
发表于 2011-1-13 16:08:37 | 只看该作者
本帖最后由 chaosheng 于 2011-1-13 16:13 编辑

说到表隐藏,我想起acccess2010的设置数据库密码. 2010设了密码的数据库好像无法破解了吧.  
不知以下的方式可行否?
数据放在设了密码的accdb文件中,窗体报表VBA放在另一个accde文件中而用dao访问前者的数据.
但我看了帮助说设了密码的accdb不支持行锁定,有点遗憾啊.

点击这里给我发消息

15#
发表于 2011-1-13 16:34:10 | 只看该作者
对于隐藏表,通过在DAO中设置TableDef对象的Attributes属性为0或1,可以显示或隐藏,该属性不能用手工设置,必须通过编程实现。
十段老师9楼的例子可能就是用的这种方法。roych 在10楼也是用的这种方法。
但是不管什么样,系统表MSysObjects中还是有所有的表的信息的,不过可以把这个表也隐藏起来。
那么用上面方法把所有表隐藏后,如果不懂DAO编程或不想用编程手段,还能看到所有的表名和表中的数据吗?
答案是可以!方法如下:
在库中新建一查询,在SQL视图中输入:SELECT * From MSysObjects ,然后打开数据表视图,在Name列有各种对象的名称,Type列为对象类型(1为表),这样就得到表名了,比如有表:“产品”,然后如法炮制,新建查询,在SQL视图输入 SELECT * From 产品 ,即可看到产品表的所有记录。
16#
发表于 2011-1-13 16:46:51 | 只看该作者
有一套,学习学习
17#
发表于 2011-1-13 16:48:24 | 只看该作者
呵呵,精神可嘉  
ACCESS无法做到真正隐藏,小宝已经说得很透切了
18#
发表于 2011-1-13 17:17:07 | 只看该作者
有意思,几天不上,一来就看到这么有意思的帖子
19#
发表于 2011-1-13 18:42:39 | 只看该作者
todaynew 发表于 2011-1-13 09:15
把数据放到其他系统中,然后用代码读进来(不用链接),MsysObjects应该看不及这个表吧?

其实隐藏的本意,是不想让人轻易复制数据,事实上用todayenw所述的方法比较实用,
20#
发表于 2011-1-13 19:19:51 | 只看该作者
看看先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-4 19:27 , Processed in 0.115519 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表