Foxtable(狐表)用户栏目专家坐堂 → 统计出现问题


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

主题:统计出现问题

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 17:29:00 [显示全部帖子]

 你有对应的控件吗?

 

Dim cmd As WinForm.ComboBox
cmd = e.form.Controls("物料品号")

Dim cmd As WinForm.ComboBox
cmd = e.form.Controls("物料品号1")

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/14 17:40:00 [显示全部帖子]

下面两段代码多余

 

'半成品分类下拉列表
Dim cma As WinForm.ComboBox
cma = e.form.Controls("物料品号")
cma.ComboList = DataTables("进库数量统计").GetComboListString("物料品号")

 

 

'半成品分类下拉列表
Dim cmd As WinForm.ComboBox
cmd = e.form.Controls("物料品号1")
cmd.ComboList = DataTables("出库数量统计").GetComboListString("物料品号")

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/15 10:48:00 [显示全部帖子]

'入仓数量统计
If Forms("进出库统计").Opened Then
    Dim f As New CrossTableBuilder("进库数量统计", DataTables("进库明细"))
    f.HGroups.AddDef("物料品号")
    f.HGroups.AddDef("物料名称")
    f.HGroups.AddDef("每箱PC数")
    f.VGroups.AddDef("月份", "{0}")
    f.Totals.AddDef("进库_箱数", "进库_箱数")
    f.Totals.AddDef("进库_数量", "进库_数量")
    f.OrderByTotal = True
    f.HorizontalTotal = True
    f.Filter = "进库日期 Is Not Null"
    f.Build()
End If

Tables("进出库统计_进库数量统计表").DataSource = DataTables("进库数量统计")

'设置月份的列宽
For Each c As Col In Tables("进出库统计_进库数量统计表").Cols
    If c.DataCol.IsNumeric Then
        c.Width = 50
    End If
Next
Tables("进出库统计_进库数量统计表").AutoSizeCols() '设置自动列宽

'半成品分类下拉列表
'Dim cma As WinForm.ComboBox
'cma = e.form.Controls("物料品号")
'cma.ComboList = DataTables("进库数量统计").GetComboListString("物料品号")


'出仓数量统计
If Forms("进出库统计").Opened Then
    Dim h As New CrossTableBuilder("出库数量统计", DataTables("出库明细"))
    h.HGroups.AddDef("物料品号1")
    h.HGroups.AddDef("物料名称1")
    h.HGroups.AddDef("每箱PC数1")
    h.VGroups.AddDef("月份1", "{0}")
    h.Totals.AddDef("出库_箱数", "出库_箱数")
    h.Totals.AddDef("出库_数量", "出库_数量")
    h.OrderByTotal = True
    h.HorizontalTotal = True
    h.Filter = "出库日期 Is Not Null"
    h.Build()
End If

Tables("进出库统计_出库数量统计表").DataSource = DataTables("出库数量统计")

'设置月份的列宽
For Each c As Col In Tables("进出库统计_出库数量统计表").Cols
    If c.DataCol.IsNumeric Then
        c.Width = 50
    End If
Next
Tables("进出库统计_出库数量统计表").AutoSizeCols() '设置自动列宽

'半成品分类下拉列表
'Dim cmd As WinForm.ComboBox
'cmd = e.form.Controls("物料品号1")
'cmd.ComboList = DataTables("出库数量统计").GetComboListString("物料品号")

'删除数值为空的记录
DataTables("进库数量统计").DeleteFor("[合计_进库_箱数] = 0" )
'DataTables("半成品入仓金额统计").DeleteFor("[合计] = 0" )
DataTables("出库数量统计").DeleteFor("[合计_出库_箱数] = 0" )

'Tables("半成品统计_半成品出仓数量统计表").Cols(3).Visible = False


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/15 11:04:00 [显示全部帖子]

1、你没有对应的控件;

 

2、出库表的列名都写错了。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/15 14:27:00 [显示全部帖子]

 去到你事件代码那里添加 msgbox,不要把代码写到命令窗口

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/15 14:46:00 [显示全部帖子]

 是。定位看哪句代码有问题。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/15 14:50:00 [显示全部帖子]


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/15 15:49:00 [显示全部帖子]

DataTables("库存月报").DataRows.Clear
Dim s As String = e.Form.Controls("月份").Value
If s <> "" Then
    Dim f As New Filler
    f.SourceTable = DataTables("进库明细")
    f.DataTable = DataTables("库存月报")
    f.ExcludeExistValue = True
    f.SourceCols = "物料品号,物料名称,每箱PC数"
    f.DataCols = "物料品号,物料名称,每箱PC数"
    f.Distinct = True '排除重复值
    f.Filter = "月份 = '" & s & "'"
    f.Fill()
   
    f.SourceTable = DataTables("出库明细")
    f.DataTable = DataTables("库存月报")
   
    f.SourceCols = "物料品号1,物料名称1,每箱PC数1"
    f.DataCols = "物料品号,物料名称,每箱PC数"
    f.ExcludeExistValue = True
    f.Distinct = True '排除重复值
    f.Filter = "月份1 = '" & s & "'"
    f.Fill()
    For Each dr As DataRow In DataTables("库存月报").DataRows
        Dim s1 As String = "物料品号 = '" & dr("物料品号") & "' And 物料名称 = '" & dr("物料名称") & "' And 每箱PC数 = '" & dr("每箱PC数") & "' And 月份 = '" & s & "'"
        Dim s2 As String = "物料品号1 = '" & dr("物料品号") & "' And 物料名称1 = '" & dr("物料名称") & "' And 每箱PC数1 = '" & dr("每箱PC数") & "' And 月份1 = '" & s & "'"
        dr("箱数_本月进库") = DataTables("进库明细").Compute("Sum(进库_箱数)",s1)
        dr("数量_本月进库") = DataTables("进库明细").Compute("Sum(进库_数量)",s1)
        'dr("本月入仓_单价") = DataTables("产品总帐").Compute("Sum(入仓金额)",s1) / DataTables("原材料").Compute("Sum(进库数量)",s1)     
        dr("箱数_本月出库") = DataTables("出库明细").Compute("Sum(出库_箱数)",s2)
        dr("数量_本月出库") = DataTables("出库明细").Compute("Sum(出库_数量)",s2)     
        s1 = "物料品号 = '" & dr("物料品号") & "' And 物料名称 = '" & dr("物料名称") & "' And 每箱PC数 = '" & dr("每箱PC数") & "' And 月份 < '" & s & "'"
        s2 = "物料品号1 = '" & dr("物料品号") & "' And 物料名称1 = '" & dr("物料名称") & "' And 每箱PC数1 = '" & dr("每箱PC数") & "' And 月份1 < '" & s & "'"
        dr("箱数_上月结存") = DataTables("进库明细").Compute("Sum(进库_箱数)",s1) - DataTables("出库明细").Compute("Sum(出库_箱数)",s2)
        dr("数量_上月结存") = DataTables("进库明细").Compute("Sum(进库_数量)",s1) - DataTables("出库明细").Compute("Sum(出库_数量)",s2)
        'dr("上月结存_金额") = DataTables("原材料").Compute("Sum(入仓金额)",s1) - DataTables("原材料").Compute("Sum(入仓金额)",s1) / DataTables("原材料").Compute("Sum(进库数量)",s1) * DataTables("原材料").Compute("Sum(出库数量)",s1)
        'dr("上月结存_单价") = (DataTables("原材料").Compute("Sum(入仓金额)",s1) - DataTables("原材料").Compute("Sum(入仓金额)",s1) / DataTables("原材料").Compute("Sum(进库数量)",s1) * DataTables("原材料").Compute("Sum(出库数量)",s1)) / (DataTables("原材料").Compute("Sum(进库数量)",s1) - DataTables("原材料").Compute("Sum(出库数量)",s1))   
        dr("箱数_本月结存") = dr("箱数_上月结存") + dr("箱数_本月进库") - dr("箱数_本月出库")
        dr("数量_本月结存") = dr("数量_上月结存") + dr("数量_本月进库") - dr("数量_本月出库")
    Next

End If


 回到顶部