Foxtable(狐表)用户栏目专家坐堂 → 关于统计,请高手指点!!!


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

主题:关于统计,请高手指点!!!

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
关于统计,请高手指点!!!  发帖心情 Post By:2015/9/22 0:47:00 [只看该作者]

Select Case e.DataCol.Name
    Case "shuliang", "price"
        Dim rks As Double = DataTables("rukudan").Compute("sum(shuliang)", "cord = '" & e.DataRow("cord") & "'")
        Dim cks As Double = e.DataTable.Compute("sum(shuliang)", "cord = '" & e.DataRow("cord") & "'")
        If cks > rks Then

      

请问这个地方统计的是数据库后台的数据,还是当前数据?如果是当前数据,怎么改为统计后台数据

 

还想添加一个参数 显示当前是累计多少个商品,也是要统计后台数据库,而不是当前程序的数据

 

因为程序加载的时候,默认不加载数据

'     msgbox("无法出库,库存不足")
        Else
            Dim count As Integer = 0
            Dim drs As List(Of DataRow) = DataTables("rukudan").Select("cord = '" & e.DataRow("cord") & "'", "_Identify")
            For i As Integer = 0 To drs.count - 1
                Dim dr As DataRow = drs(i)
                count += dr("shuliang")
                Dim sy As Integer = count - (cks - e.DataRow("shuliang"))
                If sy >= 0 Then
                    Dim cb, cbs As Double
                    count = 0
                    For j As Integer = i To drs.count - 1
                        dr = drs(j)
                        If j = i Then
                            count += sy
                            cb = sy * dr("price")
                        Else
                            count += dr("shuliang")
                            cb = dr("shuliang") * dr("price")
                            sy = dr("shuliang")
                        End If
                        If count >= e.DataRow("shuliang") Then
                            cbs += (e.DataRow("shuliang") - (count - sy)) * dr("price")
                            msgbox(cbs & count)
                            e.DataRow("lirun") = e.DataRow("shuliang") * e.DataRow("price") - cbs
                            Exit For
                        Else
                            cbs += cb
                        End If
                    Next
                    Exit For
                End If
            Next
        End If
End Select


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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13804 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2015/9/22 9:02:00 [只看该作者]

1 rks 统计的是加载了的rukudan的筛选行的suliang
2 cks统计的是当前表的筛选行的suliang

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/22 9:13:00 [只看该作者]

Dim rks As Double = DataTables("rukudan").sqlCompute("sum(shuliang)", "cord = '" & e.DataRow("cord") & "'")
Dim cks As Double = e.DataTable.sqlCompute("sum(shuliang)", "cord = '" & e.DataRow("cord") & "'")
Dim count As Double = DataTables("rukudan").sqlCompute("count(*)", "cord = '" & e.DataRow("cord") & "'")
If cks > rks Then

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2015/9/23 10:17:00 [只看该作者]

我还想添加一个 bb字段 用来显示当前被计算的 是累计第几个商品 
应该怎么处理
非常感谢 
狐表团队 棒极了

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/23 10:19:00 [只看该作者]

e.DataRow("bb") = count

 回到顶部