以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  SQLcomputer与_UserName的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=100703)

--  作者:douglas738888
--  发布时间:2017/5/16 20:35:00
--  SQLcomputer与_UserName的问题

请教老师,下列代码,写在AFTERLOAD,能按条件COUNT数量,但是,当从自定义登录窗口登录后,比如登录人员AA有2项需要评估,登录人员BB有1项需要评估,但是BB登录后,统计出来的是3项,不是1项,是代码哪里有问题???

 

Dim Filter38 As String = ""
Dim Count38 As Double
Count38 = DataTables("任务明细").SQLCompute("Count(任务编号)","指定质量评价人 Like  \'%" & _UserName & "%\' and (质量评估_评价人 not Like \'%" & _UserName & "%\' or 质量评估_评价人 Is null) and 任务完成 = 1 and 质量评估_完成 = 0 ")
Dim lbl38 As WinForm.Label
lbl38 = e.Form.Controls("Label38")
Application.DoEvents()
lbl38.Text = "" & Count38 & ""

[此贴子已经被作者于2017/5/16 21:03:51编辑过]

--  作者:有点蓝
--  发布时间:2017/5/16 20:50:00
--  
表格存储的内容是怎么样的?截图说明

评价人里存储的是多个人的名称吗

--  作者:douglas738888
--  发布时间:2017/5/16 21:03:00
--  

窗口里的是SQLTable表,表格里的人名是单选,不是多值

 

 


图片点击可在新窗口打开查看此主题相关图片如下:测试.jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2017/5/16 22:22:00
--  
那就没有必要使用like了

Count38 = DataTables("任务明细").SQLCompute("Count(任务编号)","指定质量评价人 =  \'" & _UserName & "\' and (质量评估_评价人 <> \'" & _UserName & "\' or 质量评估_评价人 Is null) and 任务完成 = 1 and 质量评估_完成 = 0 ")

如果仍然不正确,就要看看_UserName是否值正确的登录人了