Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共13 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]授权

1楼
苏州老街 发表于:2024/11/28 8:37:00
Dim e As Object = Args(0)
Dim drs As List(Of DataRow) =  DataTables("授权表").Select("(',' + 姓名 + ',' like '%," & _UserName & ",%' or ',' + 用户分组 + ',' like '%," & _Usergroup & ",%') And  窗口名1 = '" & e.Form.Name & "'")
If drs.Count = 0 Then
老师好,下面代码只要在授权表设置字段不用逻辑列(不可见)勾选   ,同样也打不开窗口。老师 能不能勾选后在打不开。

msgbox("你无权打开窗口")
    e.Form.close
    unlockbasemainform
    Return False
End If
For Each dr As DataRow In drs
    If dr("按扭名") = Nothing Then
        msgbox("你无权打开窗口")
        e.Form.close
        unlockbasemainform
        Return False
    Else
        e.Form.Controls(dr("按扭名")).Visible = not dr("不可见")
        e.Form.Controls(dr("按扭名")).Enabled = not dr("不可编辑")
    End If
Next
Return True
2楼
有点蓝 发表于:2024/11/28 9:01:00
没看懂是什么问题?
3楼
苏州老街 发表于:2024/11/28 15:30:00
老师好,下面代码只要在授权表窗口列设置每窗口,逻辑列(不可见)不勾选   ,同样也打不开窗口。提示你无权打开窗口。

Dim e As Object = Args(0)
Dim drs As List(Of DataRow) =  DataTables("授权表").Select("(',' + 姓名 + ',' like '%," & _UserName & ",%' or ',' + 用户分组 + ',' like '%," & _Usergroup & ",%') And  窗口名1 = '" & e.Form.Name & "'")
If drs.Count = 0 Then

msgbox("你无权打开窗口")
    e.Form.close
    unlockbasemainform
    Return False
End If
For Each dr As DataRow In drs
    If dr("按扭名") = Nothing Then
        msgbox("你无权打开窗口")
        e.Form.close
        unlockbasemainform
        Return False
    Else
        e.Form.Controls(dr("按扭名")).Visible = not dr("不可见")
        e.Form.Controls(dr("按扭名")).Enabled = not dr("不可编辑")
    End If
Next
Return True
[此贴子已经被作者于2024/11/28 15:30:29编辑过]
4楼
有点蓝 发表于:2024/11/28 15:35:00
还是没看懂。什么情况下可以打开,什么情况下不能打开?查询的时候只查询可以打开的窗口不就行了
5楼
苏州老街 发表于:2024/11/28 15:45:00

图片点击可在新窗口打开查看此主题相关图片如下:2024-11-28 15 42 24.png
图片点击可在新窗口打开查看
6楼
有点蓝 发表于:2024/11/28 15:47:00
如果不勾选,是能打开?还是不能打开?
7楼
苏州老街 发表于:2024/11/28 17:20:00
不勾选也不能打开
8楼
有点蓝 发表于:2024/11/28 17:31:00
那就是勾选也可以打开咯

加上勾选条件

Dim drs As List(Of DataRow) =  DataTables("授权表").Select("(',' + 姓名 + ',' like '%," & _UserName & ",%' or ',' + 用户分组 + ',' like '%," & _Usergroup & ",%') And  窗口名1 = '" & e.Form.Name & "' and 不可见=true")
9楼
苏州老街 发表于:2024/11/28 17:40:00
老师,还是不行。勾选打不开,不勾选也打不开,我是要勾选打不开,不勾选可以打开。

图片点击可在新窗口打开查看此主题相关图片如下:2024-11-28 17 38 39.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2024/11/28 17:42:11编辑过]
10楼
有点蓝 发表于:2024/11/28 19:50:00
Dim e As Object = Args(0)
dim dr2 as datarow = DataTables("授权表").Find("(',' + 姓名 + ',' like '%," & _UserName & ",%' or ',' + 用户分组 + ',' like '%," & _Usergroup & ",%') And  窗口名1 = '" & e.Form.Name & "' and 不可见=false and 按扭名 is null")
if dr2 is nothing then
msgbox("你无权打开窗口")
    e.Form.close
    unlockbasemainform
    Return False
end if
Dim drs As List(Of DataRow) =  DataTables("授权表").Select("(',' + 姓名 + ',' like '%," & _UserName & ",%' or ',' + 用户分组 + ',' like '%," & _Usergroup & ",%') And  窗口名1 = '" & e.Form.Name & "' and 按扭名 is not null")
For Each dr As DataRow In drs
        e.Form.Controls(dr("按扭名")).Visible = not dr("不可见")
        e.Form.Controls(dr("按扭名")).Enabled = not dr("不可编辑")
Next
Return True

共13 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 2 queries.