以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  逻辑列判定计算?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=169406)

--  作者:manyifuwu
--  发布时间:2021/6/15 15:01:00
--  逻辑列判定计算?
If e.DataCol.name="考勤_出勤天数"   Then
    Select Case e.DataRow("星级")
        Case "一星"
            e.DataRow("社保补助")=  e.DataRow("考勤_出勤天数")* 13.6
        Case "二星"
            e.DataRow("社保补助")=  e.DataRow("考勤_出勤天数")* 28
        End Select
End If
以上代码,我想加一个判定,如果“有社保”列为: True。  ”社保补助“列,不计算。怎么修改代码呢?谢谢!


--  作者:有点蓝
--  发布时间:2021/6/15 15:45:00
--  
If e.DataCol.name="考勤_出勤天数" andalso  e.DataRow("有社保")=false Then
    Select Case e.DataRow("星级")
        Case "一星"
            e.DataRow("社保补助")=  e.DataRow("考勤_出勤天数")* 13.6
        Case "二星"
            e.DataRow("社保补助")=  e.DataRow("考勤_出勤天数")* 28
        End Select
End If

--  作者:manyifuwu
--  发布时间:2021/6/15 16:09:00
--  
上面代码没有反应。
不好意思我没有表达清楚。
如果:逻辑列“有社保"列为 勾选   社保补助列=0   。“有社保"列为 没有勾选,就计算。
[此贴子已经被作者于2021/6/15 16:13:31编辑过]

--  作者:有点蓝
--  发布时间:2021/6/15 16:13:00
--  
If e.DataCol.name="考勤_出勤天数" 
if e.DataRow("有社保") Then then
e.DataRow("社保补助") = 0
else
    Select Case e.DataRow("星级")
        Case "一星"
            e.DataRow("社保补助")=  e.DataRow("考勤_出勤天数")* 13.6
        Case "二星"
            e.DataRow("社保补助")=  e.DataRow("考勤_出勤天数")* 28
        End Select
endif
End If


--  作者:manyifuwu
--  发布时间:2021/6/15 16:21:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:下载.png
图片点击可在新窗口打开查看这个怎解决呢?:我用的sql表


[此贴子已经被作者于2021/6/15 16:22:02编辑过]

--  作者:有点蓝
--  发布时间:2021/6/15 16:54:00
--  
提示很明显了:2个then,去掉一个。基本的错误要学会自己判断呀,不能别人给的代码就只能等别人改