以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  条件统计  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=186597)

--  作者:denghui69986
--  发布时间:2023/5/15 8:54:00
--  条件统计

在计件表上计算提成奖,“计件金额”增加条件“分类”如何判断“新款",旧款”计算提成奖


图片点击可在新窗口打开查看此主题相关图片如下:条件统计图.png
图片点击可在新窗口打开查看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.zip


--  作者:cd_tdh
--  发布时间:2023/5/15 9:02:00
--  
S elect Case e.DataCol.Name 
    Case "计件金额", "分类"
        If e.DataRow.IsNull("计件金额") OrElse e.DataRow.IsNull("分类") Then \'身份证号码是否为空
            e.DataRow("提成奖") = Nothing
        Else
            If e.DataRow("分类") = "旧款" Then
                e.DataRow("提成奖") = 0.20
            ElseIf e.DataRow("分类") = "新款" Then
                e.DataRow("提成奖") = 0.30
            End if
        End if
End S elect

--  作者:denghui69986
--  发布时间:2023/5/15 9:29:00
--  
提示是错误代码
--  作者:有点蓝
--  发布时间:2023/5/15 9:40:00
--  
什么错误?
--  作者:denghui69986
--  发布时间:2023/5/15 9:48:00
--  

输入数值后就弹窗


图片点击可在新窗口打开查看此主题相关图片如下:错误代码.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2023/5/15 9:49:00
--  
调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错
--  作者:denghui69986
--  发布时间:2023/5/15 9:56:00
--  
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:表,计件薪资,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“旧”到类型“Double”的转换无效。
输入字符串的格式不正确。

--  作者:有点蓝
--  发布时间:2023/5/15 9:58:00
--  
调试看哪一句代码出错
--  作者:denghui69986
--  发布时间:2023/5/15 11:27:00
--  

改了单独只引用区分”分类”列提成奖也不出来,提成奖分旧款20%和3新款30%有哪位老师指导,感谢

 

If e.DataCol.Name = "分类" Then
Dim Value As Double = e.DataRow("分类")
Dim Result As Double
Select Case Value
    Case "旧款" To "旧款"
        Result = 0.20
    Case "新款" To "新款"
        Result = 0.30
    Case Else
        Result = 0
End Select
e.DataRow("提成奖") = Result
End If


--  作者:有点蓝
--  发布时间:2023/5/15 11:29:00
--  
Select Case e.DataCol.Name 
    Case "计件金额", "分类"
        If e.DataRow.IsNull("计件金额") OrElse e.DataRow.IsNull("分类") Then \'身份证号码是否为空
            e.DataRow("提成奖") = Nothing
        Else
            If e.DataRow("分类") = "旧款" Then
                e.DataRow("提成奖") = 0.20
            ElseIf e.DataRow("分类") = "新款" Then
                e.DataRow("提成奖") = 0.30
            End if
        End if
End Select