Foxtable(狐表)用户栏目专家坐堂 → 重置问题


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

主题:重置问题

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


加好友 发短信
等级:幼狐 帖子:141 积分:1227 威望:0 精华:0 注册:2018/2/22 10:06:00
重置问题  发帖心情 Post By:2019/7/9 16:58:00 [只看该作者]

老师,请教一下,以下代码我单行测试没有问题,但是使用重置代码 DataTables("fa piao台账").DataCols("fa piao号码").RaiseDataColChanged() 后结果有问题出现计算错误,您给看看是什么情况

ElseIf e.DataCol.Name = "fa piao号码" Then
    If e.OldValue <> e.NewValue Then
        e.DataRow("发生时间") = Date.Now
        e.DataRow("经手人") = User.Name
    End If
    Dim r As Row = Tables("fa piao台账").Current
    If r("窗口属性") = "XK" Then
        Dim Filter As String =  "[fa piao号码] = '" & e.NewValue & "' and [窗口属性] = 'XK' "
        e.DataRow("虚开收款金额") = DataTables("财务收支台账").Compute("Sum(收款金额)", Filter)
        e.DataRow("虚开付款金额") = DataTables("财务收支台账").Compute("Sum(已付虚开)", Filter)
        Dim dr As DataRow
        dr= DataTables("财务收支台账").Find("[支付虚开fa piao号码] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then '如果找到了同名的fa piao号码行,也就是dr不是Nothing
            e.DataRow("支付虚开时间") = dr("财务处理日期")
        End If
    Else
        e.DataRow("虚开收款金额") = Nothing
        e.DataRow("虚开付款金额") = Nothing
        e.DataRow("支付虚开时间") = Nothing
    End  If
End If

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2019/7/9 17:15:00 [只看该作者]

  Dim r As Row = Tables("fa piao台账").Current

这种用法是不对的,事件中的所有代码都应该用e参数,否则你充值所有行,实际调用的还是当前行。
[此贴子已经被作者于2019/7/9 17:21:24编辑过]

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


加好友 发短信
等级:幼狐 帖子:141 积分:1227 威望:0 精华:0 注册:2018/2/22 10:06:00
  发帖心情 Post By:2019/7/9 17:39:00 [只看该作者]

谢谢老师

 回到顶部