Foxtable(狐表)用户栏目专家坐堂 → [求助]求助计算设置


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

主题:[求助]求助计算设置

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


加好友 发短信
等级:幼狐 帖子:92 积分:1778 威望:0 精华:0 注册:2014/4/11 21:10:00
回复:(有点甜)修改代码 Dim fdr1 As Data...  发帖心情 Post By:2017/11/2 0:49:00 [只看该作者]

新设置了凹凸的代码,不灵了?另外,我想增加条件数量大于等于20000个时按自动机的单价核算,小于20000个时按手动机单价核算,该怎么修改代码?
Select Case e.DataCol.name
    Case "数量", "K数", "凹凸", "凹凸新版费"
        Dim at As String = iif(e.DataRow("凹凸") = True, "凹凸", "")
        If at = "" Then
            e.DataRow("凹凸费") = Nothing
        Else
            Dim fdr2 As DataRow = DataTables("凹凸").find("盒子大小K <= " & e.DataRow("K数") & " and 类型 = '" & at & "'", "盒子大小K desc")
            If fdr2 IsNot Nothing Then
                e.DataRow("凹凸费") = IIF(e.DataRow("凹凸新版费")>0,fdr2("装版费") + e.DataRow("数量")* fdr2("单价")+e.DataRow("凹凸新版费")*fdr2("系数"), fdr2("装版费") + e.DataRow("数量")* fdr2("单价")+fdr2("旧版费"))
            End If
        End If
End Select

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/2 9:11:00 [只看该作者]

回复11楼,执行代码包什么错?

 

把你的项目发上来测试。


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


加好友 发短信
等级:幼狐 帖子:92 积分:1778 威望:0 精华:0 注册:2014/4/11 21:10:00
  发帖心情 Post By:2017/11/2 11:07:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试凹凸.foxdb


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/2 11:27:00 [只看该作者]

Select Case e.DataCol.name
    Case "数量", "K数", "凹凸", "凹凸新版费"
        If e.DataRow("凹凸") = False Then
            e.DataRow("凹凸费") = Nothing
        Else
            Dim at As String = iif(e.DataRow("数量")<2000, "手动机", "自动机")
            Dim fdr2 As DataRow = DataTables("凹凸").find("盒子大小K <= " & e.DataRow("K数") & " and 类型 = '" & at & "'", "盒子大小K desc")
            If fdr2 IsNot Nothing Then
                e.DataRow("凹凸费") = IIF(e.DataRow("凹凸新版费")>0,fdr2("装版费") + e.DataRow("数量")* fdr2("单价")+e.DataRow("凹凸新版费")*fdr2("系数"), fdr2("装版费") + e.DataRow("数量")* fdr2("单价")+fdr2("旧版费"))
            End If
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:92 积分:1778 威望:0 精华:0 注册:2014/4/11 21:10:00
回复:(有点甜)Select Case e.DataCol.name &n...  发帖心情 Post By:2017/11/4 14:25:00 [只看该作者]

谢谢甜老师
新问题?
我设置了
模切,瓦楞,灰板三个逻辑列
如果三个都为空则模切费为空,如果单独选中其中一个,则按公式计算模切费。
 附加条件,模切的数量大于等于20000个时按自动机算,否则按手动机算。
               瓦楞和灰板两列不用考虑数量条件。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试模切.foxdb

               

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/4 14:53:00 [只看该作者]

Select Case e.DataCol.name
    Case "模切","瓦楞","灰板","数量","模切新版费","K数"
        Dim mq As String = iif(e.DataRow("模切")=True,"模切",iif(e.DataRow("瓦楞")=True,"瓦楞",iif(e.DataRow("灰板")=True,"灰板", "")))
        If mq = "" Then
            e.DataRow("模切费") = Nothing
        Else
            mq = iif(mq="模切",IIF(e.DataRow("数量")<20000, "手动机", "自动机"),mq)
            Dim fdr4 As DataRow = DataTables("模切").find("盒子大小K <= " & e.DataRow("K数") & " and 类型 = '" & mq & "'", "盒子大小K desc")
            If fdr4 IsNot Nothing Then
                e.DataRow("模切费") = IIF(e.DataRow("模切新版费")>0,fdr4("装版费") + e.DataRow("数量")* fdr4("单价")+e.DataRow("模切新版费")*fdr4("系数"), fdr4("装版费") + e.DataRow("数量")* fdr4("单价")+fdr4("旧版费"))
            End If
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:92 积分:1778 威望:0 精华:0 注册:2014/4/11 21:10:00
  发帖心情 Post By:2017/11/7 22:26:00 [只看该作者]

谢谢有点蓝老师!

 回到顶部
总数 17 上一页 1 2