Foxtable(狐表)用户栏目专家坐堂 → 窗口权限设置


  共有3404人关注过本帖树形打印复制链接

主题:窗口权限设置

帅哥哟,离线,有人找我吗?
xgzcx
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:46 积分:452 威望:0 精华:0 注册:2021/5/14 14:05:00
窗口权限设置  发帖心情 Post By:2021/6/2 16:28:00 [只看该作者]

老师:请教一个窗口权限设置问题。数据表中的行有内容时,怎么通过窗口权限来决定该行不能输入内容。说明书介绍了数据表设置权限的方式,窗口不可以。

Dim txtBox As WinForm.TextBox
txtBox = e.Form.Controls(
"txtSale")
If
User.Group = "录入员" Then
    txtBox.ReadOnly = BooleanEnum.
True
Else

    txtBox.ReadOnly = BooleanEnum.Default

End
If

不是通过使用人员的权限来设置,而是通过该数据表的行有没有内容来设置。


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/2 16:31:00 [只看该作者]

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=166142&replyID=139816&skin=1

If txtBox.text > "" Then

 回到顶部
帅哥哟,离线,有人找我吗?
xgzcx
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:46 积分:452 威望:0 精华:0 注册:2021/5/14 14:05:00
  发帖心情 Post By:2021/6/3 9:17:00 [只看该作者]

老师:早上好!几种方法我都反复试过,结果是不可以。对于窗口中输入的权限管理,还是表格的权限管理,整个都是从用户的角度来进行的。但是对于数据已经记录的,不能在下一次输入数据时将原有数据覆盖的保护,这个是软件最基本的保障。

Dim ctl As WinForm.Control = e.Sender
Select
Case ctl.BindingField
    Case
"
A.第一列", "A.第二列", "A.第三列"
        If txtBox.text >"" 
Then
            ctl.ReadOnly = BooleanEnum.False
'
允许编辑
        Else
            ctl.ReadOnly = BooleanEnum.True
'
禁止编辑
        End If
End Select

显示错误:txtBox声明成什么?这个实在搞不明白,请老师明示,多谢!


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/3 9:21:00 [只看该作者]

Dim ctl As WinForm.Control = e.Sender
Select
 Case ctl.BindingField
    Case 
"
A.第一列""A.第二列""A.第三列"
        If ctl.text ="" 
Then
            ctl.ReadOnly = BooleanEnum.False 
'
允许编辑
        Else
            ctl.ReadOnly = BooleanEnum.True 
'
禁止编辑
        End If
End Select
[此贴子已经被作者于2021/6/3 9:21:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
xgzcx
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:46 积分:452 威望:0 精华:0 注册:2021/5/14 14:05:00
  发帖心情 Post By:2021/6/3 10:27:00 [只看该作者]

老师:这样改也不可以。出现错误提示,怎么解决?
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/3 10:39:00 [只看该作者]

Dim ctl As WinForm.textbox = e.Sender


 回到顶部
帅哥哟,离线,有人找我吗?
xgzcx
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:46 积分:452 威望:0 精华:0 注册:2021/5/14 14:05:00
  发帖心情 Post By:2021/6/3 10:56:00 [只看该作者]

老师:改了,还是不可以,出现错误:
老师:我用这个代码之后窗口是不能输入了,但是增加行时又报错了。所有的窗口都不能输入,目的达到了。

Dim ctl As WinForm.Control = e.Sender

If Tables("表A").Current.DataRow.SQLGetValue("某列").Gettype.Name = "DBNull" Then  '确认是空值

    ctl.ReadOnly = BooleanEnum.False '可以编辑

Else

    ctl.ReadOnly = BooleanEnum.True '禁止编辑

End If

老师:这个问题出在哪儿,不明白。



 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/3 11:05:00 [只看该作者]

Dim ctl As WinForm.Control = e.Sender

If Tables("表A").Current.isnull("某列") =true Then  '确认是空值

    ctl.ReadOnly = BooleanEnum.False '可以编辑

Else

    ctl.ReadOnly = BooleanEnum.True '禁止编辑

End If


 回到顶部
帅哥哟,离线,有人找我吗?
xgzcx
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:46 积分:452 威望:0 精华:0 注册:2021/5/14 14:05:00
  发帖心情 Post By:2021/6/3 11:43:00 [只看该作者]

老师:改后,有内容的是不能正常输入了,可是没有内容的,只能输入2个,其它的全不能正常输入,说明在判断是否为空值的时候,不全正确,求指点。

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/3 11:45:00 [只看该作者]

代码放在什么事件的?

 回到顶部
总数 17 1 2 下一页