Foxtable(狐表)用户栏目专家坐堂 → [求助]已经按照帮助说明自定义了用户登录界面,并将用户信息保存到SQL了,现在想在计划管理或者状态栏里引用自定义的当前登录用户的的名称,哪位老师给说一声应该怎么引用啊!


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

主题:[求助]已经按照帮助说明自定义了用户登录界面,并将用户信息保存到SQL了,现在想在计划管理或者状态栏里引用自定义的当前登录用户的的名称,哪位老师给说一声应该怎么引用啊!

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


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
[求助]已经按照帮助说明自定义了用户登录界面,并将用户信息保存到SQL了,现在想在计划管理或者状态栏里引用自定义的当前登录用户的的名称,哪位老师给说一声应该怎么引用啊!  发帖心情 Post By:2019/2/2 12:24:00 [只看该作者]

[求助]已经按照帮助说明自定义了用户登录界面,并将用户信息保存到SQL了,现在想在“计划管理”里和“状态栏”引用自定义的当前登录用户的的名称,哪位老师给说一声应该怎么引用啊!
[此贴子已经被作者于2019/2/2 12:44:03编辑过]

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


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2019/2/2 12:43:00 [只看该作者]

Dim Today As Date = Date.Today

Dim Names As String = "日一二三四五六"

Dim s As String = _UserName

Dim ss As String 

ss = s.SubString(0,6)


Dim Str11 As String

Str11 ="时间:" & Date.Now  & "  星期" & Names.Chars(Today.DayOfWeek) & " 账号:" & ss & " "


StatusBar.Message3 = Str11



这是我写在状态栏的代码,哪位老师看看哪里出错了?




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


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

四、在全局代码中定义两个变量:

Public _UserName As String
Public
 _UserGroup As String

_UserName用户保存当前登录用户的名称,_UserGroup用于保存该用户的分组。


……


总结

经过上述10个步骤的设计,我们已经建立了自己的用户管理和登录系统,用户登录后,用户名保存在全局变量_User中,用户分组保存在全局变量_UserGroup中。

我们只需对原来的权限代码稍作修改,即可适用自定义的用户管理系统,例如原来的代码为:

If User.Group = "经理" Then
    DataTables
("表A").AllowEdit = True
Else
    DataTables
("表A").AllowEdit = False
End
 
If

现在只需改为:

If _UserGroup = "经理" Then
    DataTables
("表A").AllowEdit = True
Else
    DataTables
("表A").AllowEdit = False
End
 
If

可以看出,自定义的用户管理系统,在应用上和内置的不会有任何差别。

不过使用自定义用户管理系统的时候,需要注意 事件触发顺序,由于自定义的用户登录窗口是在AfterOpenProject事件中打开,意味着在此事件之前触发执行的事件,是不能使用_UserName和_UserGroup变量的。
例如有的用户希望使用动态加载功能,在用户登录后,订单表只加载业务员为登录用户的订单,所有在项目事件BeforeLoadInnerTable设置了代码:

If e.DataTableName = "订单" Then
    e.Filter = 
"业务员 = '" & _UserName & "'"
End
 If


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


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2019/2/2 19:05:00 [只看该作者]

谢谢老师提醒,问题已经经找到了,应该是计划管理先于自定义登录界面启动造成的,解决办法是BeforeOpenProject中先暂停计划管理,然后在登录界面确定按钮里代码最后再开启计划管理,这样就能保证计划管理的可以使用_UserName了!

 回到顶部