以文本方式查看主题
-
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,去掉一个。基本的错误要学会自己判断呀,不能别人给的代码就只能等别人改