以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]这个表达式如何写?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=92105)

--  作者:黄训良
--  发布时间:2016/10/26 11:27:00
--  [求助]这个表达式如何写?

取双眼视力差的绝对值,下面的表达式报错,请指点!

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("体检表")
If e.DataCol.Name = "班级" And dr.IsNull("班级") = False Then

    dr("视力_视力参差_轻度") = dt.Compute("Count(姓名)", "[班级_部门] = \'" & dr("班级") & "\' and (Math.Abs([视力_左眼] - [视力_右眼]) > 2 )")
End If


--  作者:有点蓝
--  发布时间:2016/10/26 12:15:00
--  
表达式没有绝对值函数

试试

dr("视力_视力参差_轻度") = dt.Compute("Count(姓名)", "[班级_部门] = \'" & dr("班级") & "\' and iif(([视力_左眼] - [视力_右眼]) >= 0,[视力_左眼] - [视力_右眼],([视力_左眼] - [视力_右眼])*-1) > 2 )")

--  作者:黄训良
--  发布时间:2016/10/28 13:26:00
--  

感谢!可以了,代码如下:

dr("视力_视力参差_轻度") = dt.Compute("Count(姓名)", "[班级_部门] = \'286\' And iif(([视力_左眼] - [视力_右眼]) >= 0,[视力_左眼] - [视力_右眼],[视力_右眼] - [视力_左眼]) > 0.2")