以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 条件问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=171815) |
||||
-- 作者:lgz518 -- 发布时间:2021/9/10 15:44:00 -- 条件问题 \'多条件- If e.DataCol.Name="实际值" Then \'如果 \'如果" If e.NewValue Is Nothing Then e.DataRow("得分")= Nothing \'如果" ElseIf e.NewValue> Z值 Then e.DataRow("得分")=120+[(120-100)÷(Z值-D值)×(实际值-Z值)×2] \'如果" ElseIf e.NewValue= Z值 Then e.DataRow("得分")=120 ElseIf e.NewValue < Z值 Or e.NewValue > D值 Then e.DataRow("得分")=100+[(120-100)÷(Z值-D值)×(实际值-Z值)] \'如果" ElseIf e.NewValue = D值 Then e.DataRow("得分")=100 \'\'否则, Else e.DataRow("得分")=100-[(120-100)÷(Z值-D值)×(实际值-Z值)×2] End If End If 上面代码报错,提示“未声明Z值 ”,ElseIf e.NewValue> Z值 Then
|
||||
-- 作者:cd_tdh -- 发布时间:2021/9/10 16:02:00 -- 对的,Z值没声明变量啊?系统不知道Z值是什么东西,Z值、D值、实际值,都不知道是什么啊? 你应该是这个意思吧? e.DataRow("得分")=120+((120-100)÷(e.DataRow("Z值")-e.DataRow("D值"))×(e.DataRow("实际值")-e.DataRow("Z值")×2) [此贴子已经被作者于2021/9/10 16:04:00编辑过]
|
||||
-- 作者:lgz518 -- 发布时间:2021/9/10 16:16:00 -- 是的,我试一下,谢谢 |
||||
-- 作者:lgz518 -- 发布时间:2021/9/10 16:22:00 -- \'多条件- If e.DataCol.Name="实际值" Then \'如果 \'如果" If e.NewValue Is Nothing Then e.DataRow("得分")= Nothing \'如果" ElseIf e.NewValue> Z值 Then e.DataRow("得分")=120+((120-100)÷(e.DataRow("Z值")-e.DataRow("D值"))×(e.DataRow("实际值")-e.DataRow("Z值")×2) \'如果" ElseIf e.NewValue= Z值 Then e.DataRow("得分")=120 ElseIf e.NewValue < Z值 Or e.NewValue > D值 Then e.DataRow("得分")=100+((120-100)÷(e.DataRow("Z值")-e.DataRow("D值"))×(e.DataRow("实际值")-e.DataRow("Z值")×2) \'如果" ElseIf e.NewValue = D值 Then e.DataRow("得分")=100 \'\'否则, Else e.DataRow("得分")=100-((120-100)÷(e.DataRow("Z值")-e.DataRow("D值"))×(e.DataRow("实际值")-e.DataRow("Z值")×2) End If End If 还是报错,上面代码报错,提示“未声明Z值 ”,ElseIf e.NewValue> Z值 Then
|
||||
-- 作者:有点蓝 -- 发布时间:2021/9/10 16:27:00 -- Z值是一个变量名称?还是一个字符串?还是列名? 如果是列名 ElseIf e.NewValue> e.DataRow("Z值") Then
|
||||
-- 作者:lgz518 -- 发布时间:2021/9/10 16:38:00 -- 1,“Z值、D值、实际值” 都是列名 2,下面代码,报错提示:" 120+((120-100)÷(dr("Z值")-dr("D值"))×(dr("实际值")-dr("Z值")×2) ",为应结束语句? Dim dr As DataRow = e.DataRow If e.DataCol.Name="实际值" Then \'如果 \'如果" If e.NewValue Is Nothing Then dr("得分")= Nothing \'如果" ElseIf e.NewValue> "Z值" Then dr("得分")= " 120+((120-100)÷(dr("Z值")-dr("D值"))×(dr("实际值")-dr("Z值")×2) " ElseIf e.NewValue= "Z值" Then dr("得分")="120" ElseIf e.NewValue < "Z值" Or e.NewValue > "D值" Then dr("得分")="100+((120-100)÷(dr("Z值")-dr("D值"))×(dr("实际值")-dr("Z值")×2)" ElseIf e.NewValue ="D值" Then dr("得分")="100" \'\'否则, Else dr("得分")="100-((120-100)÷(dr("Z值")-dr("D值"))×(dr("实际值")-dr("Z值")×2)" End If End If |
||||
-- 作者:有点蓝 -- 发布时间:2021/9/10 16:52:00 -- ElseIf e.NewValue> dr("Z值") Then dr("得分")= 120+((120-100)÷(dr("Z值")-dr("D值"))×(dr("实际值")-dr("Z值")×2)
|
||||
-- 作者:lgz518 -- 发布时间:2021/9/10 17:38:00 -- 还是报错,计算不出得分的值
|
||||
-- 作者:有点蓝 -- 发布时间:2021/9/10 17:43:00 -- http://www.foxtable.com/webhelp/topics/0218.htm |
||||
-- 作者:lgz518 -- 发布时间:2021/9/10 22:05:00 --
老师,方法一,计算出来还有问题 1,编号4,5的计算的值是错,如果计算出”得分“的值与”正确答案数据“的值一样? 2,计算出来”得分“的值大于130,取130,小于0,取0,如何实现? 3,使用方法二,不执行,是哪里错? 注:计算公式方法已在”备注栏“写清楚。
|