Foxtable(狐表)用户栏目专家坐堂 → 条件问题


  共有2566人关注过本帖树形打印复制链接

主题:条件问题

帅哥哟,离线,有人找我吗?
lgz518
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
条件问题  发帖心情 Post By: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 

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/9/10 16:16:00 [显示全部帖子]

是的,我试一下,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By: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 

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/9/10 17:38:00 [显示全部帖子]

还是报错,计算不出得分的值
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多条件1.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/9/10 22:05:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多条件1 - 副本.foxdb


老师,方法一,计算出来还有问题
1,编号4,5的计算的值是错,如果计算出”得分“的值与”正确答案数据“的值一样?
2,计算出来”得分“的值大于130,取130,小于0,取0,如何实现?
3,使用方法二,不执行,是哪里错?


注:计算公式方法已在”备注栏“写清楚。

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/9/11 11:09:00 [显示全部帖子]

老师,您用是foxtable开发版-2021-9-02非正式,我现在2021-5-29,因9-2还耒正式发布,请您把您的附件转为2021-5-29,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
lgz518
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/9/11 12:49:00 [显示全部帖子]

编号1:如果 实际值>Z值

dr("得分")= 120+((120-100)/(dr("Z值")-dr("D值"))*(dr("实际值")-dr("Z值"))*2)

注:计算出来:dr("得分")的值大于“130”,取“130”为值,代码如何实现?

编号5:如果 实际值<Z值  而且   实际值<D值


dr("得分")=100-((120-100)/(dr("Z值")-dr("D值"))*(dr("实际值")-dr("Z值"))*2)

注:计算出来:dr("得分")的值小于“0”,取“0”为值,代码如何实现?

 回到顶部