设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 简单的对数据表指定的行中的2到20列的数据比对一遍

[复制链接]
跳转到指定楼层
1#
发表于 2007-11-10 00:38:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,

现有一数据表,结构如图,

登陆后,用户名是一定的,表中列标题1-10对应相应的菜单,想对这几列循环一遍,以此对没有权限的菜单进行控制,不知道怎么读取列,谁能指点一下,感激不尽,主要是每添加一个菜单就要添加一行判断语句太麻烦了,所以想这样做,搞了半天还是没明白

If DLookup("列标签", "表名", "用户名='" & CurrentName & "'") = False Then
            Visible = False
Else
            Visible = True
End If

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-11-10 20:40:50 | 只看该作者
将1—10控件的TAG(标记)设置为key (或任意)输入:
for   each   control    in    me.controls
if     control.tag="key"  then
If DLookup(control.name, "表名", "用户名='" & CurrentName & "'") = False Then
            Visible = False
Else
            Visible = True
End If
end if
next
3#
 楼主| 发表于 2007-11-10 22:12:12 | 只看该作者
谢谢xianbin555

还请再给看看,运行是变量未定义,看了帮助,不很明白,对这个的使用,我吧实例传上来,应为我再2007下弄的,所以我只把连接表和这个模块给提了出来,弄成了2000格式的。函数再模块的最下面一个

谢谢

[ 本帖最后由 cycad 于 2007-11-10 22:47 编辑 ]

本帖子中包含更多资源

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

x
4#
 楼主| 发表于 2007-11-10 22:48:50 | 只看该作者
最近打开这里的网页超级慢,还总连不上,但是别的网站没问题,郁闷
5#
发表于 2007-11-11 09:46:35 | 只看该作者
ACCESS2007下的程序代码在ACCESS2000下是不兼容的,试试:
Public Sub OnGetVisible01(ctl As Control, ByRef Visible)
ctl   as   IRibbonControl在ACCESS2000下认不出来
ctl   as  control     在access2000下是标准的控件引用
6#
 楼主| 发表于 2007-11-11 18:01:28 | 只看该作者
Controls 集合包含窗体、报表或子窗体中以及另一控件中或附加到另一控件的所有控件 (控件:允许用户控制程序的图形用户界面对象,如文本框、复选框、滚动条或命令按钮等。可使用控件显示数据或选项、执行操作或使用户界面更易阅读。)。Controls 集合是 Form、Report 和 SubForm 对象的成员

这是帮助里面的原文,好像这个不能用在表上面吧,用户的权限存在一个链接表里面的,ctl   as   IRibbonControl 这个是不能改掉的,传递的是07下功能区菜单的参数的,去掉或者更改就运行不了,

在登陆界面点登陆的时候,加载功能区菜单时加载的这个函数的。运行的时候只是提示Control变量未定义,
7#
 楼主| 发表于 2007-11-11 18:40:24 | 只看该作者
顺便说明,俺是一个菜鸟,呵呵
8#
 楼主| 发表于 2007-11-11 19:02:22 | 只看该作者
解决了,非常感谢xianbin555

最后正确的是这样的,我是笨了,查资料发现功能区有tag属性的,直接引用然后,读取值就好了,循环都不需要的,
Public Sub OnGetVisible1(ctl As IRibbonControl, ByRef Visible)

            If DLookup(ctl.Tag, "userlist", "username='" & CurrentName & "'") = False Then
                Visible = False
            Else
                Visible = True
            End If

   
End Sub
9#
发表于 2007-11-13 00:44:47 | 只看该作者
不错的例子哦!有学习的必要啊!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-16 12:07 , Processed in 0.101378 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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