以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]逻辑列 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=125510) |
-- 作者:seal51 -- 发布时间:2018/9/29 17:45:00 -- [求助]逻辑列 逻辑列如何显示为及格,不及格 当成绩>60逻辑列自动显示为及格 当成绩<60逻辑列自动显示为不及格 这个如何写 如果不好搞, 那么下面设计如何写 A列数值>60,则B列自动填写合格 A列数值<60,则B列自动填写不合格 [此贴子已经被作者于2018/9/29 17:53:45编辑过]
|
-- 作者:有点蓝 -- 发布时间:2018/9/30 8:32:00 -- 参考:http://www.foxtable.com/webhelp/scr/1306.htm,及格;不及格 datacolchanged事件 if e.datacol.name = "A列" e.datarow("B列") = (e.newvalue >= 60) end if |
-- 作者:seal51 -- 发布时间:2018/9/30 8:49:00 -- 谢谢!现在不想用逻辑列, 现在用两个数据列, A列和B列 A列数值>60,则B列自动填写合格 A列数值<60,则B列自动填写不合格 如何写?
|
-- 作者:有点蓝 -- 发布时间:2018/9/30 10:11:00 -- if e.datacol.name = "A列" e.datarow("B列") = IIF(e.newvalue >= 60,"合格","不合格") end if
|
-- 作者:seal51 -- 发布时间:2018/11/2 17:08:00 -- 如果A列数值>60<80,则B列自动填写良好 A列数值<60,则B列自动填写一般 A列数值>80,则B列自动填写优秀 代码如何写?
|
-- 作者:有点甜 -- 发布时间:2018/11/2 17:40:00 -- if e.datacol.name = "A列"
e.datarow("B列") = IIF(e.newvalue >= 80,"优秀",iif(e.newvalue >= 60, "良好","一般"))
end if
|
-- 作者:seal51 -- 发布时间:2018/11/2 18:07:00 -- 老师看看前面的代码是否影响后面的代码呢? Dim cs1 = e.DataRow("cs1") Dim ood1 = e.DataRow("ood1") Dim oid2 = e.DataRow("oid2") Dim oysl1 = e.DataRow("oysl1") If cs1 <> Nothing Then SystemReady = False e.DataRow("oysl1") = (cs1-(ood1-oid2)/2)/cs1 SystemReady = True End If If e.DataCol.name = "oysl1" e.DataRow("判断") = IIF(e.newvalue>0.14,"过高",iif(e.newvalue >= 0.08, "正常","过低")) End If |
-- 作者:有点甜 -- 发布时间:2018/11/2 18:09:00 -- Dim cs1 = e.DataRow("cs1")
Dim ood1 = e.DataRow("ood1")
Dim oid2 = e.DataRow("oid2")
Dim oysl1 = e.DataRow("oysl1")
If cs1 <> Nothing Then
SystemReady = False
e.DataRow("oysl1") = (cs1-(ood1-oid2)/2)/cs1
SystemReady = True
End If
If e.DataCol.name = "oysl1"
e.DataRow("判断") = IIF(e.DataRow("oysl1")>0.14,"过高",iif(e.DataRow("oysl1")>= 0.08, "正常","过低"))
End If |
-- 作者:seal51 -- 发布时间:2018/11/2 18:13:00 -- 还是不行 |
-- 作者:有点甜 -- 发布时间:2018/11/2 18:13:00 -- 实例发上来测试,说明要做到的效果。 |