设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2937|回复: 7
打印 上一主题 下一主题

[查询] 求助!关于权限查询的问题

[复制链接]
跳转到指定楼层
1#
发表于 2011-2-19 01:52:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
表结构:
列:  ID,  合同号,申请人,
行: 1     PI001      A君
         2     PI002     B君
         3     PI003     A君


一般,在建立上面表的查询时,如果想只列出 A君的合同,就会把条件 设为A君就行了,

但是我想根据登录名称去作为条件,也就是说,a君登录系统了,这个查询就会显示A君的合同。相同B君登录系统的时候,这个查询就显示B君的合同,也就是这个查询的条件是外部的,而不是在查询里的。

应该怎样去做这个条件呢?我怎样都想不到办法,参考了好多例子和相关书籍都没有解决。

本人正在构思一个解决的办法,不知道能不能行得通,就是建立一个表作为中介,当登录系统后,把登录者的名字copy到这个表中,然后以这个表和刚才的表联合一起查询应该可以解决。当退出系统的时候,删除那个表里面的记录

请问各位高人,这个方法能行吗?如何上面的办法行得通,应该怎样做呢?有没有现有的办法解决以上的问题呢?


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-2-19 02:20:48 | 只看该作者
本帖最后由 roych 于 2011-2-19 02:39 编辑

其实,你可以这样考虑,登录后把登录窗体隐藏起来(这时候窗体仍然是打开的),然后用Dlookup函数去查找用户的合同。例如Dlookup("合同","合同表","申请人='"&forms!登录窗体!登录用户名&"'"),或者干脆就直接引用隐藏窗体的用户作为条件来做查询(详细参考附上的实例)。

本帖子中包含更多资源

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

x
3#
 楼主| 发表于 2011-2-19 11:34:07 | 只看该作者
谢谢roych,我尝试一下,非常感谢你的热心帮忙!
4#
 楼主| 发表于 2011-2-19 12:31:32 | 只看该作者
延伸问题,就是这个条件,能不能用IIF语句做条件的?
5#
发表于 2011-2-19 13:06:56 | 只看该作者
是查询里的条件吗?那当然是可以的,但是,既然已经开了登录窗体,就固定了是登录用户了,为什么还要用if呢?
6#
 楼主| 发表于 2011-2-19 14:38:35 | 只看该作者
这里涉及到一个部门权限的问题了,因为虽然自己能看自己的合同,但是如果像老板,他应该是全权限的,他就可能可以查看所有人的资料了,这样就要用条件语句去显示了,我想问一下,iif语句是不是和excel vba的语句一样的呢?
7#
发表于 2011-2-19 15:58:13 | 只看该作者
可以使用IIF的。
8#
发表于 2019-4-16 17:46:40 | 只看该作者
最简单的方法,针对不同用户,用宏来判断,当currentuser()="A君”时,运行A君对应的查询。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-1 09:33 , Processed in 0.091576 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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