Foxtable(狐表)用户栏目专家坐堂 → 请教二个易表中的函数在狐表中如何写代码


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

主题:请教二个易表中的函数在狐表中如何写代码

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


加好友 发短信 好心情 一级勋章
等级:超级版主 帖子:715 积分:5564 威望:0 精华:1 注册:2008/8/31 20:45:00
  发帖心情 Post By:2009/4/11 11:21:00 [只看该作者]

以下是引用yangming在2009-4-11 11:00:00的发言:

我原来的计税工资列是表达式列,如何用原表达式列公式减去此公式呢?
原公式如下:IsNull([应付工资],0) - IsNull([扣养老],0)  - IsNull([扣医疗],0) - IsNull([扣失业],0) - IsNull([扣其它],0)-2000
我现在就是想将这个2000改成引用,如何改呢?

只能改成数字列,编码计算了


 回到顶部
美女呀,离线,留言给我吧!
yangming
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/4/11 11:25:00 [只看该作者]

先学习,谢谢好版!

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/4/11 12:10:00 [只看该作者]

1、好象应该这样,按钮代码:

Dim r As DataRow
Dim ColNames() As String = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"}
For Each ColName As string In ColNames
    For Each dr As DataRow In DataTables("个人分月工资表").DataRows
        r = DataTables("工资库").Find("[工号]  = '" & dr("工号") & "'And [月份] = '" & ColName & "'")
        if r IsNot Nothing Then
            If dr.IsNull("工号") Then
                dr(ColName) = Nothing
            Else
                dr(ColName) = r("实发工资")
            End If
        End If
    Next
Next

 回到顶部
美女呀,离线,留言给我吧!
yangming
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/4/11 14:13:00 [只看该作者]

外出的,才回来,先谢谢曹版了,我试试

 回到顶部
美女呀,离线,留言给我吧!
yangming
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/4/11 14:30:00 [只看该作者]

曹版的代码好用,我本来就是想放在按钮中的.好版的第一个问题,不行,我看全年表各月的数据都加上的是二三月份的数据了,还有那个计税工资的,我可能没说清楚,不是简单的引用基数列的内容,而是要用原表达式公式减去另表的内容

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/4/11 18:31:00 [只看该作者]

老姐,你的代码有些乱,我看了理不清思路。

下面两段代码是矛盾的。

dim x as Integer = e.datarow("计税工资")
dim y as double
if x > 100000 then
y=x*0.45-15375

……
end if
e.datarow("个税")=math.round(y,2)

 回到顶部
美女呀,离线,留言给我吧!
yangming
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/4/11 18:54:00 [只看该作者]

你只要看前一段就成了,呵呵


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/4/11 19:14:00 [只看该作者]

以下是引用yangming在2009-4-11 11:00:00的发言:

我原来的计税工资列是表达式列,如何用原表达式列公式减去此公式呢?
原公式如下:IsNull([应付工资],0) - IsNull([扣养老],0)  - IsNull([扣医疗],0) - IsNull([扣失业],0) - IsNull([扣其它],0)-2000
我现在就是想将这个2000改成引用,如何改呢?


依据这个要求,先做个按钮代码看看对不对?

Dim js As Integer
For Each dr As DataRow In DataTables("工资表").DataRows
    If dr.IsNull("工号") Then
        dr("计税工资") = Nothing
    Else
        js = DataTables("缴费基数").Datarows(0)("缴费基数")
        dr("计税工资") = dr("应付工资")-dr("扣养老")-dr("扣医疗")-dr("扣失业")-dr("扣其它")-js
    End If
Next


 回到顶部
美女呀,离线,留言给我吧!
yangming
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/4/11 20:08:00 [只看该作者]

这个也可以了,是否还能放在事件中呢?

[此贴子已经被作者于2009-4-11 20:08:04编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/4/11 20:37:00 [只看该作者]

可以的,如DataColChanged事件:

Dim js As Integer
Dim dr As DataRow = e.DataRow
if e.DataCol.Name = "应付工资" OrElse e.DataCol.Name = "扣养老" OrElse e.DataCol.Name = "扣医疗" OrElse e.DataCol.Name = "扣失业" OrElse e.DataCol.Name = "其它" Then
    js = DataTables("缴费基数").Datarows(0)("缴费基数")
    dr("计税工资") = dr("应付工资")-dr("扣养老")-dr("扣医疗")-dr("扣失业")-dr("扣其它")-js
End If

 回到顶部
总数 21 上一页 1 2 3 下一页