Foxtable(狐表)用户栏目专家坐堂 → 分组统计求助


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

主题:分组统计求助

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


加好友 发短信
等级:婴狐 帖子:87 积分:646 威望:0 精华:0 注册:2017/3/5 20:07:00
分组统计求助  发帖心情 Post By:2017/3/23 12:36:00 [只看该作者]

项目发布后主要以窗口为主,我想实现控件写入代码实现导出分组统计,就是说不写在

BuildGroupHeader

里,写在按钮事件里,有没有示例参考?


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112375 积分:572137 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/23 14:16:00 [只看该作者]


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


加好友 发短信
等级:婴狐 帖子:87 积分:646 威望:0 精华:0 注册:2017/3/5 20:07:00
  发帖心情 Post By:2017/3/23 17:16:00 [只看该作者]

在窗口控件中怎样取得另外一个窗口副本表的当前行

 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/23 17:48:00 [只看该作者]

以下是引用xywl在2017/3/23 17:16:00的发言:

在窗口控件中怎样取得另外一个窗口副本表的当前行

 

 

Dim t As Table = Forms("窗口2").Controls("Table2").Table


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


加好友 发短信
等级:婴狐 帖子:87 积分:646 威望:0 精华:0 注册:2017/3/5 20:07:00
  发帖心情 Post By:2017/4/19 15:40:00 [只看该作者]

我把代码写在报表事件里。现在想通过窗口的控件点击生成报表,那么在生成分组头前的要执行的要怎样引用,就是不用在菜单的打印输出那里点生成报表,在窗口里有个窗口点击导出就行,要把报表事件里的代码移到控件按钮里执行吗

 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/19 15:43:00 [只看该作者]

 你的模板和你的报表事件都不需要改变,按钮里面加上2楼的代码即可。


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


加好友 发短信
等级:婴狐 帖子:87 积分:646 威望:0 精华:0 注册:2017/3/5 20:07:00
  发帖心情 Post By:2017/4/19 16:32:00 [只看该作者]

原来直接引用就好,那么我窗口中的是副本表,也就是说我想按副本表的数据生成报表,我动态改行吗


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


加好友 发短信
等级:婴狐 帖子:87 积分:646 威望:0 精华:0 注册:2017/3/5 20:07:00
  发帖心情 Post By:2017/4/19 16:33:00 [只看该作者]

Sheet(0,1).Value = Tables("zcxx").Current("gsmc")  '写入表名
    Sheet(1,0).Value = "<GroupHeader,出库明细_table1,收货地址,1>"

这样应该不行


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/19 16:34:00 [只看该作者]

以下是引用xywl在2017/4/19 16:32:00的发言:

原来直接引用就好,那么我窗口中的是副本表,也就是说我想按副本表的数据生成报表,我动态改行吗

 

1、你可以把模板改成你的窗口表,如 <窗口1_Table1> 这样设计。

 

2、你也可以用代码去修改模板的值 http://www.foxtable.com/webhelp/scr/2626.htm

 


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


加好友 发短信
等级:婴狐 帖子:87 积分:646 威望:0 精华:0 注册:2017/3/5 20:07:00
  发帖心情 Post By:2017/4/19 18:13:00 [只看该作者]

Dim sl As Integer = 0
For Each r As Row In Tables("商品出库_table1").GetCheckedRows
 If r("库位") = "库存不足" And r("库位") Is Nothing Then
r.Checked = False
Else
r.Checked = True
    Dim pr As DataRow
    Dim filter As String
    filter = "Item = '" & r("商品编号") & "'"
    pr = DataTables("商品库存").Find(filter)
    If pr IsNot Nothing Then
        pr("待发库存") = pr("待发库存") + r("数量")
        pr("可用库存") = pr("可用库存") - r("数量")
 pr("实时库存") = pr("实时库存") - r("数量")
        pr.Save()
    End If
    Dim dr As DataRow = DataTables("商品库存明细").Find("货品编号 = '" & r("商品编号") & "' and 可用库存 >=" & r("数量"))
    If dr IsNot Nothing Then
        Dim d1 As Row = Tables("出库明细").AddNew()
        d1("订单编号") = r("订单编号")
        d1("商品编号") = r("商品编号")
        d1("出库日期") = r("出库日期")
        d1("中文名称") = r("中文名称")
        d1("中文描述") = r("中文描述")
        d1("单价") = r("单价")
        d1("出库数量") = r("数量")
        d1("净重") = r("净重")
        d1("单位") = r("单位")
        d1("经手人") = r("经手人")
        d1("有效期至") = r("有效期至")
        d1("生产日期") = r("生产日期")
        d1("经手人姓名") = r("经手人姓名")
        d1("库位") = dr("货格")
        d1("总价") = r("总价")
        d1("沃尔玛商品号") = r("沃尔玛商品号")
        d1("收货地址") = r("收货地址")
        d1("收货人") = r("收货人")
        d1("收货人电话") = r("收货人电话")
        d1("入库日期") = dr("入库日期")
        d1("入库数量") = dr("可用库存")
        d1("剩余库存") = dr("可用库存") - r("数量")
        If d1("剩余库存") > 0 Then
            dr("可用库存") = d1("剩余库存")
            dr("实时库存") = d1("剩余库存")
        'Else If d1("剩余库存") = 0 Then
            'dr.Delete()
        End If
    Else
        Dim count As Integer = 0
        Dim drs As List(Of DataRow) = DataTables("商品库存明细").Select("货品编号 = '" & r("商品编号") & "' AND 可用库存 > 0", "生产日期, _Identify")
        Dim s As String = ""
        Dim cnt As Integer
        For i As Integer = 0 To drs.count - 1
            Dim dr1 As DataRow = drs(i)
            count += dr1("可用库存")
            Dim sy As Integer = count - r("数量")
            's &= dr1("货格") & ","
            If sy >= 0 Then
                cnt = i
                Exit For
            End If
        Next
        Dim coun As Integer = 0
        'For k As Integer = 0 To cnt
        'Dim dr3 As DataRow = drs(k)
        'If k = cnt - 1 Then
        'Exit For
        'End If
        'coun += dr3("可用库存")
        'Next
        '
        For j As Integer = 0 To cnt
            Dim d2 As Row = Tables("出库明细").AddNew()
            Dim dr2 As DataRow = drs(j)
            If j < cnt Then
                d2("订单编号") = r("订单编号")
                d2("商品编号") = r("商品编号")
                d2("出库日期") = r("出库日期")
                d2("中文名称") = r("中文名称")
                d2("中文描述") = r("中文描述")
                d2("单价") = r("单价")
                d2("出库数量") = dr2("可用库存")
                d2("净重") = r("净重")
                d2("单位") = r("单位")
                d2("经手人") = r("经手人")
                d2("有效期至") = r("有效期至")
                d2("生产日期") = r("生产日期")
                d2("经手人姓名") = r("经手人姓名")
                d2("库位") = dr2("货格")
                d2("总价") = r("总价")
                d2("沃尔玛商品号") = r("沃尔玛商品号")
                d2("收货地址") = r("收货地址")
                d2("收货人") = r("收货人")
                d2("收货人电话") = r("收货人电话")
                d2("入库日期") = dr2("入库日期")
                d2("入库数量") = dr2("可用库存")
                d2("剩余库存") = dr2("可用库存") - d2("出库数量")
                coun += dr2("可用库存")
                'If d2("剩余库存") = 0 Then
                    'dr2.Delete()
                'End If
            Else If j = cnt Then
                d2("订单编号") = r("订单编号")
                d2("商品编号") = r("商品编号")
                d2("出库日期") = r("出库日期")
                d2("中文名称") = r("中文名称")
                d2("中文描述") = r("中文描述")
                d2("单价") = r("单价")
                d2("出库数量") = r("数量") - coun
                d2("净重") = r("净重")
                d2("单位") = r("单位")
                d2("经手人") = r("经手人")
                d2("有效期至") = r("有效期至")
                d2("生产日期") = r("生产日期")
                d2("经手人姓名") = r("经手人姓名")
                d2("库位") = dr2("货格")
                d2("总价") = r("总价")
                d2("沃尔玛商品号") = r("沃尔玛商品号")
                d2("收货地址") = r("收货地址")
                d2("收货人") = r("收货人")
                d2("收货人电话") = r("收货人电话")
                d2("入库日期") = dr2("入库日期")
                d2("入库数量") = dr2("可用库存")
                d2("剩余库存") = dr2("可用库存") - d2("出库数量")
                If d2("剩余库存") > 0 Then
                    dr2("可用库存") = d2("剩余库存")
                    dr2("实时库存") = d2("剩余库存")
                'Else If d2("剩余库存") = 0 Then
                    'dr2.Delete()
                End If
               
            End If
        Next
    End If
    sl = sl+1
End If
Next
DataTables("出库明细").Save()
DataTables("商品库存明细").Save()
MessageBox.Show("导入成功!本次有 " & Tables("商品出库_table1").Compute("Sum(数量)") & " 个商品数量,共计 " & sl & " 种新商品!")
'With DataTables("当天出库")
    '.DataRows.Clear() '清除所有行
'End With
For Each r As Row In Tables("当天出库").GetCheckedRows
    r.Delete
Next
DataTables("当天出库").Save()
Dim d As Date = Date.Today
Dim tr As WinForm.TreeView = Forms("商品出库").Controls("TreeView1")
tr.BuildTree("出库明细", "订单编号","出库日期 = '" & d & "'")
tr.Nodes.Insert("当天所有出库记录",0)
For Each nd As WinForm.TreeNode In tr.AllNodes
    nd.ExpandAll
Next

 

这段代码,想筛出副本表中不是库存不足或者空的的数据提交,如果选中,自动识别,满足要求的提交并且在最后删掉这些已提交的行,这样写好像没效果,不满足则不能选中

 


 回到顶部
总数 11 1 2 下一页