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


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

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

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望: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

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望: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)

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望: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


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望: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

 回到顶部