以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 不同的人加载不同的行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187352) |
-- 作者:yaojun -- 发布时间:2023/7/11 14:37:00 -- 不同的人加载不同的行 If User.Name = "管理员" Or User.Name = "开发者" Then DataTables("客户产品").LoadFilter = "" Else DataTables("客户产品").LoadFilter = "用户名 = \'" & User.Name & "\'" End If DataTables("客户产品").Load() 以上代码可以实现不同的人加载不同的行,但这只局限于使用系统自带的登录窗口,如果要使用自定义的登录窗口呢,代码该怎么变
|
-- 作者:有点蓝 -- 发布时间:2023/7/11 14:45:00 -- http://www.foxtable.com/webhelp/topics/2048.htm |
-- 作者:yaojun -- 发布时间:2023/7/11 15:25:00 -- 项目在BeforeLoadInnerTable If e.DataTableName = "表B" Then e.Filter = "[_Identify] Is Null" 按钮加了 DataTables("表B").LoadFilter = "用户名 = \'" & _UserName & "\'" DataTables("表B").Load()好像没有加载任何数据
|
-- 作者:有点蓝 -- 发布时间:2023/7/11 15:33:00 -- 登录怎么做的?有给_UserName赋值吗? msgbox("用户名 = \'" & _UserName & "\'") 有符合这个条件的数据吗?
|
-- 作者:yaojun -- 发布时间:2023/7/11 15:48:00 -- 登录按钮: Dim yh As WinForm.TextBox = e.Form.Controls("TextBox1") Dim mm As WinForm.TextBox = e.Form.Controls("TextBox2") If yh.text = "" Then MessageBox.Show("请输入用户名!","提醒") Return End If Dim dr As DataRow = DataTables("用户管理").Find("用户名 = \'" & yh.text & "\' and 密码 = \'" & mm.text & "\'") If dr Is Nothing Then MessageBox.Show("用户名或密码不对!","提醒") Return End If Vars("_用户名") = dr("用户名") Vars("_权限") = dr("权限") For Each dt As DataTable In DataTables dt.load Next e.Form.Close Forms("Main").Open DataTables("表B").LoadFilter = "用户名 = \'" & _UserName & "\'" DataTables("表B").Load() 全局代码赋值: Public _UserName As
String
\'用户名 Public _UserGroup As String \'用户分组 [此贴子已经被作者于2023/7/11 15:55:43编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/7/11 15:57:00 -- 要理解帮助处理问题的逻辑,帮助使用的是_UserName存储用户名。但是上面代码使用的是Vars("_用户名")存储用户名,那么所有使用用户名的地方都改为使用Vars("_用户名")呀 |
-- 作者:yaojun -- 发布时间:2023/7/11 16:16:00 -- 谢谢蓝老师,明白了 |