<<< 返回 access911.net 编程静态资料库索引页

如何能通过窗体访问表,但不能直接读取表?

 

作者:cg1  摘自:access911.net  录入:cg1  时间:2004-2-7  浏览人次:3895


专题地址:http://access911.net/fixhtm/71FAB71E10DCECF3.htm 如果需要更详细的评论或说明,请点击该地址。

 

简述:如何用 ACCESS 的内置权限功能实现让用户只能通过我编写的窗体读取数据而不能直接读取表中的数据

 


问题:

如何能通过窗体访问表,但不能直接读取表?
我需要让用户不能直接打开我的表,但是可以通过我编写的窗体来打开这些表,这样我就可以编程控制一些字段的数据了。

 

回答:

原理:

可以通过 ACCESS 自身的安全向导结合 JET SQL 中 SELECT 查询的 WITH OWNERACCESS OPTION 声明来完成。
WITH OWNERACCESS OPTION 在具有安全工作组的多用户环境中,使用该声明和查询给运行该查询的用户与查询所有者相同的权限。
A、你只要将某个表的所有者设定为某个自定义用户,而该用户属于管理员组,对表有读取、修改权限。
B、设定在默认情况下用户组都拥有打开窗体的权限,但没有读取表的权限
C、用WITH OWNERACCESS OPTION来建立窗体的数据源,赋予普通用户拥有表的所有者才拥有的修改读取权限。这样使用者就只能通过你的窗体来访问数据表了。
D、发布的时候无需发布你的 MDW 文件,因为客户那里默认会以用户组的权限打开你的数据库,这样就达到你的目的了。


实际操作:

1、建立一个数据库,里面有1个表(表1),一个窗体(窗体1),设置“窗体1”的数据源为
SELECT * FROM 表1 [color=.....................
...........

资料库随时有更新,欲查看最新详情请单击专题地址http://access911.net/fixhtm/71FAB71E10DCECF3.htm

 


上一篇:如何将RECORDSET的结果集保存为文件(XML文件)?

下一篇:怎样取得一个字符串在另外一个字符串中出现的次数? 

2017年2月22日生成静态资料