Foxtable(狐表)用户栏目专家坐堂 → 如何利用列名进行自定义表达式计算


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

主题:如何利用列名进行自定义表达式计算

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


加好友 发短信
等级:四尾狐 帖子:808 积分:5722 威望:0 精华:0 注册:2014/7/4 20:32:00
如何利用列名进行自定义表达式计算  发帖心情 Post By:2017/9/15 16:12:00 [只看该作者]

老师你好:

如何利用列名进行自定义表达式计算?

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


加好友 发短信
等级:四尾狐 帖子:808 积分:5722 威望:0 精华:0 注册:2014/7/4 20:32:00
  发帖心情 Post By:2017/9/15 16:14:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据列名计算式.table


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


加好友 发短信
等级:四尾狐 帖子:808 积分:5722 威望:0 精华:0 注册:2014/7/4 20:32:00
  发帖心情 Post By:2017/9/15 16:17:00 [只看该作者]

现在这个只能采用加号,其他的没办法,如何变成加、减、乘、除及括号都可以运算?谢谢

 

如:

 

(基本工资+提成)*100+补助


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


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

DataColChanged事件

 

'If e.DataRow.IsNull("应发工资公式") Then
'e.DataRow("应发工资") = Nothing
'Else
'e.DataRow("应发工资") = Eval2(e.DataRow("应发工资公式"),e.DataRow)
'End If
'


If e.DataRow.IsNull("应发工资公式") Then
    e.DataRow("应发工资") = Nothing
Else
    Dim str As String = e.DataRow("应发工资公式")
    For Each dc As DataCol In e.DataTable.DataCols
        str = str.replace("[" & dc.name & "]", dc.name).Replace(dc.name, "[" & dc.name & "]")
    Next
    If TryEval(str, e.DataRow) Then
        e.DataRow("应发工资") = Eval2(str,e.DataRow)
    Else
        msgbox("公式错误")
    End If
End If


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


加好友 发短信
等级:四尾狐 帖子:808 积分:5722 威望:0 精华:0 注册:2014/7/4 20:32:00
  发帖心情 Post By:2017/9/15 17:02:00 [只看该作者]

谢谢!

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


加好友 发短信
等级:四尾狐 帖子:808 积分:5722 威望:0 精华:0 注册:2014/7/4 20:32:00
  发帖心情 Post By:2017/9/16 20:38:00 [只看该作者]

老师你好:
上面是利用列名进行计算,现在我想利用行不同的“项目编号”和“费用名称”进行自定义表达式计算,如何处理?谢谢

如下图:


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


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


加好友 发短信
等级:四尾狐 帖子:808 积分:5722 威望:0 精华:0 注册:2014/7/4 20:32:00
  发帖心情 Post By:2017/9/16 20:38:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据列名计算式.table


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


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

If e.DataRow.IsNull("费用计算式") Then
    e.DataRow("金额") = Nothing
Else
    Dim str As String = e.DataRow("费用计算式")
    For Each dc As DataCol In e.DataTable.DataCols
        str = str.replace("[" & dc.name & "]", dc.name).Replace(dc.name, "[" & dc.name & "]")
    Next
    For Each dr As DataRow In e.DataTable.Select("项目编号 = '" & e.DataRow("项目编号") & "'")
        Dim fymc = dr("费用名称")
        If fymc <> "" Then
            str = str.replace("[" & fymc & "]", fymc).Replace(fymc, dr("金额"))
        End If
    Next
    If TryEval(str, e.DataRow) Then
        e.DataRow("金额") = Eval2(str,e.DataRow)
    Else
        msgbox("公式错误")
    End If
End If

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


加好友 发短信
等级:四尾狐 帖子:808 积分:5722 威望:0 精华:0 注册:2014/7/4 20:32:00
  发帖心情 Post By:2017/9/24 17:55:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据列名计算式.table


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

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


加好友 发短信
等级:四尾狐 帖子:808 积分:5722 威望:0 精华:0 注册:2014/7/4 20:32:00
  发帖心情 Post By:2017/9/24 17:56:00 [只看该作者]

有点甜老师:

   不知道在哪里出错了,能帮我检查一下吗?

谢谢


 回到顶部
总数 31 1 2 3 4 下一页