Foxtable(狐表)用户栏目专家坐堂 → [求助]这样的综合汇总怎样做呢?


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

主题:[求助]这样的综合汇总怎样做呢?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/15 23:42:00 [显示全部帖子]

Dim dt As DataTable
Dim cmd As new SQLCommand

cmd.CommandText = "Select Distinct {表A}.领料日期, {表A}.基材型号, {表A}.基材规格, {表A}.厂商代号, {表A}.投料件数, {表A}.投料重量, {表B}.客户, {表c}.生产类型, {表B}.产品型号, {表B}.产品规格 "
cmd.CommandText &= " From ({表A} Inner JOIN {表B} ON {表B}.[生产单号] = {表A}.[生产单号]) Inner JOIN {表C} ON {表C}.[生产单号] = {表A}.[生产单号] where 1=1"

dt = cmd.ExecuteReader

dt.DataCols.Add("一等品出货重量", Gettype(Integer))
dt.DataCols.Add("二等品出货重量", Gettype(Integer))
dt.DataCols.Add("一等品库存", Gettype(Integer))
dt.DataCols.Add("二等品库存", Gettype(Integer))
dt.DataCols.Add("单边库存", Gettype(Integer))

Dim filter As String = ""
Dim ed As Date = e.Form.Controls("结束日期").Value
Dim sd As Date = e.Form.Controls("开始日期").value
If sd <> Nothing Then
    filter &= " and 日期 >= #" & sd & "#"
End If
If ed <> Nothing Then
    filter &= " and 日期 <= #" & ed & "# "
End If
For Each dr As DataRow In dt.DataRows
    dr("一等品出货重量") = DataTables("表B").Compute("sum(每箱净重)", "产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = true and 等级 = '一等品' " & filter)
    dr("二等品出货重量") = DataTables("表B").Compute("sum(每箱净重)","产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = true and 等级 = '二等品' " & filter)
    dr("一等品库存") = DataTables("表B").Compute("sum(每箱净重)","产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = false and 等级 = '一等品' " & filter)
    dr("二等品库存") = DataTables("表B").Compute("sum(每箱净重)","产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = false and 等级 = '二等品' " & filter)
    dr("单边库存") = DataTables("表B").Compute("sum(每箱净重)","产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = false and 等级 = '单边' " & filter)
Next

e.Form.Controls("Table1").Table.Datasource = dt


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/16 10:17:00 [显示全部帖子]

 如果是外部数据源,就要加入代码

 

Dim dt As DataTable
Dim cmd As new SQLCommand

cmd.ConnectionName = "数据源名"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/21 9:30:00 [显示全部帖子]

    dr("单边库存") = DataTables("生产入库明细表").Compute("sum(每箱净重)","产品型号 = '" & dr("型号") & "' and 产品规格 = '" & dr("规格") & "' and 已出货 = false and 等级 = '单边' and 已记账 = true " & filter)

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/21 21:12:00 [显示全部帖子]

 参考

 

cmd.CommandText = "Select Distinct {表A}.领料日期, {表A}.基材型号, {表A}.基材规格, {表A}.厂商代号, {表A}.投料件数, {表A}.投料重量, {表B}.客户, {表c}.生产类型, {表B}.产品型号, {表B}.产品规格 "
cmd.CommandText &= " From ({表A} Inner JOIN {表B} ON {表B}.[生产单号] = {表A}.[生产单号]) Inner JOIN {表C} ON {表C}.[生产单号] = {表A}.[生产单号] where {表C}.已记账 = true"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/21 21:24:00 [显示全部帖子]

 这个意思?

 

Dim dt As DataTable
Dim cmd As new SQLCommand
cmd.CommandText = "Select Distinct {表A}.领料日期, {表A}.基材型号, {表A}.基材规格, {表A}.厂商代号, {表A}.投料件数, {表A}.投料重量, {表B}.客户, {表c}.生产类型, {表B}.产品型号, {表B}.产品规格 "
cmd.CommandText &= " From ({表A} Inner JOIN {表B} ON {表B}.[生产单号] = {表A}.[生产单号]) Inner JOIN {表C} ON {表C}.[生产单号] = {表A}.[生产单号] where {表C}.已完成 = true"
dt = cmd.ExecuteReader
dt.DataCols.Add("一等品出货重量", Gettype(Integer))
dt.DataCols.Add("二等品出货重量", Gettype(Integer))
dt.DataCols.Add("一等品库存", Gettype(Integer))
dt.DataCols.Add("二等品库存", Gettype(Integer))
dt.DataCols.Add("单边库存", Gettype(Integer))
dt.DataCols.Add("已记账", Gettype(Boolean))
Dim filter As String = ""
Dim ed As Date = e.Form.Controls("结束日期").Value
Dim sd As Date = e.Form.Controls("开始日期").value
If sd <> Nothing Then
    filter &= " and 日期 >= #" & sd & "#"
End If
If ed <> Nothing Then
    filter &= " and 日期 <= #" & ed & "# "
End If
For Each dr As DataRow In dt.DataRows
    dr("一等品出货重量") = DataTables("表B").Compute("sum(每箱净重)", "产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = true and 等级 = '一等品' " & filter)
    dr("二等品出货重量") = DataTables("表B").Compute("sum(每箱净重)","产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = true and 等级 = '二等品' " & filter)
    dr("一等品库存") = DataTables("表B").Compute("sum(每箱净重)","产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = false and 等级 = '一等品' " & filter)
    dr("二等品库存") = DataTables("表B").Compute("sum(每箱净重)","产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = false and 等级 = '二等品' " & filter)
    dr("单边库存") = DataTables("表B").Compute("sum(每箱净重)","产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = false and 等级 = '单边' " & filter)
    dr("已记账") = True
Next
e.Form.Controls("Table1").Table.Datasource = dt


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/21 21:50:00 [显示全部帖子]

 这个意思?

 

Dim dt As DataTable
Dim cmd As new SQLCommand
cmd.CommandText = "Select Distinct {表A}.生产单号,{表A}.领料日期, {表A}.基材型号, {表A}.基材规格, {表A}.厂商代号, {表A}.投料件数, {表A}.投料重量, {表B}.客户, {表c}.生产类型, {表B}.产品型号, {表B}.产品规格 "
cmd.CommandText &= " From ({表A} Inner JOIN {表B} ON {表B}.[生产单号] = {表A}.[生产单号]) Inner JOIN {表C} ON {表C}.[生产单号] = {表A}.[生产单号]"
dt = cmd.ExecuteReader
dt.DataCols.Add("一等品出货重量", Gettype(Integer))
dt.DataCols.Add("二等品出货重量", Gettype(Integer))
dt.DataCols.Add("一等品库存", Gettype(Integer))
dt.DataCols.Add("二等品库存", Gettype(Integer))
dt.DataCols.Add("单边库存", Gettype(Integer))

Dim filter As String = ""
Dim ed As Date = e.Form.Controls("结束日期").Value
Dim sd As Date = e.Form.Controls("开始日期").value
If sd <> Nothing Then
    filter &= " and 日期 >= #" & sd & "#"
End If
If ed <> Nothing Then
    filter &= " and 日期 <= #" & ed & "# "
End If
For Each dr As DataRow In dt.DataRows
    dr("一等品出货重量") = DataTables("表B").Compute("sum(每箱净重)", "产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = true and 等级 = '一等品'" & filter)
    dr("二等品出货重量") = DataTables("表B").Compute("sum(每箱净重)","产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = true and 等级 = '二等品'" & filter)
    dr("一等品库存") = DataTables("表B").Compute("sum(每箱净重)","产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = false and 等级 = '一等品'" & filter)
    dr("二等品库存") = DataTables("表B").Compute("sum(每箱净重)","产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = false and 等级 = '二等品'" & filter)
    dr("单边库存") = DataTables("表B").Compute("sum(每箱净重)","产品型号 = '" & dr("产品型号") & "' and 产品规格 = '" & dr("产品规格") & "' and 已出货 = false and 等级 = '单边'" & filter)
    DataTables("表C").ReplaceFor("已记账", True, "生产单号 = '" & dr("生产单号") & "' and 已完成 = true")
Next
e.Form.Controls("Table1").Table.Datasource = dt


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/21 22:03:00 [显示全部帖子]

  可以。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/21 22:11:00 [显示全部帖子]

cmd.CommandText = "Select Distinct {表A}.生产单号,{表A}.领料日期, {表A}.基材型号, {表A}.基材规格, {表A}.厂商代号, {表A}.投料件数, {表A}.投料重量, {表B}.客户, {表c}.生产类型, {表B}.产品型号, {表B}.产品规格 "
cmd.CommandText &= " From ({表A} Inner JOIN {表B} ON {表B}.[生产单号] = {表A}.[生产单号]) Inner JOIN {表C} ON {表C}.[生产单号] = {表A}.[生产单号] where {表C}.已完成 = true and {表C}.已记账 = false"

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/21 22:13:00 [显示全部帖子]

看20楼


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/30 17:58:00 [显示全部帖子]

 回复24楼,你最新的例子上传上来。输入对应数据。

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