Foxtable(狐表)用户栏目专家坐堂 → 余额问题出错


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

主题:余额问题出错

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/1/8 9:34:00 [只看该作者]

可否用?分页加载与流水账 这种方式解决这个问题?

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


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

没办法,必须在datacolchanged事件重新加载最新数据后计算。不然,都无法计算出正确的值。


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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/1/8 21:27:00 [只看该作者]

不知怎么写这个数据。请问怎么弄?

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/1/8 21:59:00 [只看该作者]

我想请问一下 可不可以用高效率的流水账设计,方案,同时加入半秒的点时加载方式?如果两个网络用户在输入同一个表时,保存的间隔时间大于半秒时,是不是可以解决我说的这个问题?余额显示不正确的问题??不想再去找其它方法了。最近因为这个问题考虑了好久。一直没解决好。感谢!

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


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

请上传具体实例测试

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


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

以下是引用kmzb56在2019/1/8 21:27:00的发言:
不知怎么写这个数据。请问怎么弄?

 

就是需要重新加载数据,然后重新计算值啊。

 

 


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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/1/16 8:27:00 [只看该作者]

是不是修改成这样就行了?

Select Case e.DataCol.Name
    Case "收入","支出"
        For Each dr As DataRow In e.DataTable.Select("[_SortKey] >= " & e.DataRow("_SortKey"))
            Dim Val1nh As Double = e.DataTable.SQLCompute("Sum(收入)","[_SortKey] <= " & dr("_SortKey"))
            Dim Val2nh As Double = e.DataTable.SQLCompute("Sum(支出)","[_SortKey] <= " & dr("_SortKey"))
            dr("余额") = Val1nh - Val2nh
        Next
End Select

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


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

 

没看懂你的意思。如果多个人同时输入的时候,计算如果想精确,是必须把对应数据加载出来,然后重置列才能得到准确的答案的。

 

 


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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/1/16 8:51:00 [只看该作者]

 我的意思是不是

表事件

 

微信零钱_DataColChanged

 

Select Case e.DataCol.Name

    Case "收入","支出"

        For Each dr As DataRow In e.DataTable.Select("[_SortKey] >= " & e.DataRow("_SortKey"))

            Dim Val1nh As Double = e.DataTable.Compute("Sum(收入)","[_SortKey] <= " & dr("_SortKey"))

            Dim Val2nh As Double = e.DataTable.Compute("Sum(支出)","[_SortKey] <= " & dr("_SortKey"))

            dr("余额") = Val1nh - Val2nh

        Next

End Select

 

微信零钱_DataRowAdded

 

e.DataRow("经手人") = _Username

 

微信零钱_DataRowDeleting

 

e.DataRow("收入") = 0

e.DataRow("支出") = 0

 

微信零钱_AfterMoveRow

 

Dim keynh As Decimal

Dim indexnh As Integer

Dim dcnh As DataCol

indexnh = Math.Min(e.Oldindex, e.Newindex)

keynh = e.Table.Rows(indexnh)("_Sortkey")

dcnh = e.Table.DataTable.DataCols("收入")

dcnh.RaiseDataColChanged("[_Sortkey] >= " & keynh)

 

微信零钱_DrawCell

 

If e.Col.name="收入" Then

e.Style="收入样式"

End If

 

If e.Col.name="支出" Then

e.Style="支出样式"

End If




我的意思是不是只需要把: e.DataTable.Compute 改成 e.DataTable.SQLCompute  就可以了?



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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/1/16 8:52:00 [只看该作者]

改成SQLcompute就是后台统计了?求命呀,这个问题困扰我好久了。

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