Foxtable(狐表)用户栏目专家坐堂 → 获取最近一次的销售日期和销售数量和金额


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

主题:获取最近一次的销售日期和销售数量和金额

美女呀,离线,留言给我吧!
liu1992
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:116 积分:1091 威望:0 精华:0 注册:2015/7/17 10:19:00
获取最近一次的销售日期和销售数量和金额  发帖心情 Post By:2017/4/6 14:55:00 [只看该作者]

想在表A中设计一个查询窗口,即:找出相同品种、相同等级、同一个入库年的商品,最近一次的销售时间、销售数量、销售总金额。
表A中有品种、级别、入库时间、销售时间、销售数量、销售总金额字段


[此贴子已经被作者于2017/4/10 13:09:46编辑过]

 回到顶部
美女呀,离线,留言给我吧!
liu1992
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:116 积分:1091 威望:0 精华:0 注册:2015/7/17 10:19:00
  发帖心情 Post By:2017/4/6 15:52:00 [只看该作者]

老师们,帮忙解答下,谢谢~~~

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


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

1、你直接用saveExcel来做吧

 

http://www.foxtable.com/webhelp/scr/0559.htm

 

2、增加列,循环生成表格的每一行数据,去找到对应的行,贴入数据。


 回到顶部
美女呀,离线,留言给我吧!
liu1992
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:116 积分:1091 威望:0 精华:0 注册:2015/7/17 10:19:00
  发帖心情 Post By:2017/4/10 13:11:00 [只看该作者]

您所说的“增加列,循环生成表格的每一行数据,去找到对应的行,贴入数据”,不是很明白,具体怎么写代码啊?

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


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

1、分组统计

 

http://www.foxtable.com/webhelp/scr/0158.htm

 

2、增加列

 

http://www.foxtable.com/webhelp/scr/1428.htm

 

3、查找数据

 

http://www.foxtable.com/webhelp/scr/0396.htm

 

4、不会做,请上传实例。


 回到顶部
美女呀,离线,留言给我吧!
liu1992
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:116 积分:1091 威望:0 精华:0 注册:2015/7/17 10:19:00
  发帖心情 Post By:2017/4/11 16:57:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb

烦请到窗口管理中查看。
1.在库存统计表内增加“平均库龄”,用“今天”—入库日期,每一个荒料编号为一个货品,形成以品名、等级、平均库龄为组统计,平均库龄=同一个品名下货品的库龄/总的货品数,单位:月。
2.统计同一个品名下、等级、相同库龄下,最近一次销售日期、最近一次销售量(即计价数量之和)、最近一次销售数(即荒料编号的个数)、最近一次销售金额、最近一次销售单价。


感谢老师辅导,我已经烦了好久了。。。
[此贴子已经被作者于2017/4/11 16:57:07编辑过]

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


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

 没看懂你说的 平均库龄 是什么意思,请举例说明。

 

 还有就是你说的最近一次指什么?同一天的都是最近一次?还是说最后一行数据?

 

 如果要引用其它表数据,参考代码

 

Dim sd As WinForm.DateTimePicker
Dim ed As WinForm.DateTimePicker
sd = e.Form.Controls("StartDate")
ed = e.Form.Controls("EndDate")
If sd.Value Is Nothing OrElse ed.Value Is Nothing Then
    MessageBox.Show("请输入起始日期和终止日期!","提示", MessageBoxButtons.OK ,MessageBoxIcon.Information)
Else
    '荒料库存情况
    Dim g As New GroupTableBuilder("统计表1", DataTables("JKH荒料"))
    Dim dt1 As fxDataSource
    g.Groups.AddDef("中文品名")
    g.Groups.AddDef("级别")
    g.Totals.AddDef("荒料编号", AggregateEnum.Count, "荒料_库存_库存数(颗)")
    g.Totals.AddDef("计价数量","荒料_库存_库存量")
    g.Filter = "[荒料状态] = '在库未出库'"
   
    dt1 = g.BuildDataSource()
   
    '荒料销售
    Dim g2 As New GroupTableBuilder("统计表2",DataTables("JKH荒料"))
    Dim dt2 As fxDataSource
    g2.Filter = "[荒料状态] = '销售出库' And [销售日期] >= '" & sd.Value & "' And [销售日期] <= '" & ed.Value & "'"
   
    g2.Groups.AddDef("中文品名")
    g2.Groups.AddDef("级别")
    g2.Totals.AddDef("荒料编号", AggregateEnum.Count, "荒料_期间内销售_数(颗)")
    g2.Totals.AddDef("计价数量","荒料_期间内销售_数量")
   
    dt2 = g2.BuildDataSource()
   
    Dim nms2 As String() = {"中文品名","级别"} '指定连接列
    dt1.Combine(nms2,dt2,nms2)
   
    Tables("荒料库存及去化报表-投管用_Table1").DataSource = dt1
   
   
    Dim t As Table = Tables("荒料库存及去化报表-投管用_Table1")
    t.DataTable.DataCols.Add("最近一次销售日期", Gettype(Date))
    t.DataTable.DataCols.Add("最近一次销售量", Gettype(Double))
    t.DataTable.DataCols.Add("最近一次销售金额", Gettype(Double))
   
    For Each r As Row In t.Rows
        Dim fdr As DataRow = DataTables("JKH荒料").find("中文品名 = '" & r("中文品名") & "' and 级别 = '" & r("级别") & "'", "销售日期 desc")
        If fdr IsNot Nothing Then
            r("最近一次销售日期") = fdr("销售日期")
            r("最近一次销售量") = fdr("计价数量")
            r("最近一次销售金额") = fdr("销售金额")
        End If
    Next

   
End If

 

 


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


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

如果是把同一天的数据累加,参考代码

 

Tables("荒料库存及去化报表-投管用_Table1").DataSource = dt1
   
   
    Dim t As Table = Tables("荒料库存及去化报表-投管用_Table1")
    t.DataTable.DataCols.Add("最近一次销售日期", Gettype(Date))
    t.DataTable.DataCols.Add("最近一次销售量", Gettype(Double))
    t.DataTable.DataCols.Add("最近一次销售金额", Gettype(Double))
   
    For Each r As Row In t.Rows
        Dim dt As DataTable = DataTables("JKH荒料")
        Dim fdr As DataRow = dt.find("中文品名 = '" & r("中文品名") & "' and 级别 = '" & r("级别") & "'", "销售日期 desc")
        If fdr IsNot Nothing Then
            r("最近一次销售日期") = fdr("销售日期")
            Dim filter As String = "中文品名 = '" & r("中文品名") & "' and 级别 = '" & r("级别") & "' and 销售日期 = #" & fdr("销售日期") & "# "
            r("最近一次销售量") = dt.Compute("sum(计价数量)", filter)
            r("最近一次销售金额") = dt.Compute("sum(销售金额)", filter)

        End If
    Next


 回到顶部