Foxtable(狐表)用户栏目专家坐堂 → 窗口显示临时表


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

主题:窗口显示临时表

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
窗口显示临时表  发帖心情 Post By:2018/2/28 13:25:00 [显示全部帖子]

我想生成的临时表在窗口显示,下面代码提示Tables("欠货统计_欠货统计表")不存在

'欠货统计
'生成统计表
Dim dtb As New DataTableBuilder("欠货统计")
dtb.AddDef("客户", Gettype(String), 32)
dtb.AddDef("产品", Gettype(String), 32)
dtb.AddDef("颜色", Gettype(String), 32)
dtb.AddDef("订单数量", Gettype(Integer))
dtb.AddDef("发货数量", Gettype(Integer))
dtb.AddDef("欠货数量", Gettype(Integer))
dtb.Build()
'填充数据
Dim f As New Filler
f.SourceTable = DataTables("销售订单明细")
f.SourceCols = "客户,产品,颜色" 
f.DataTable = DataTables("欠货统计")
f.DataCols = "客户,产品,颜色"
f.Fill()
'统计
For Each dr As DataRow In DataTables("欠货统计").DataRows
    dr("订单数量") = DataTables("销售订单明细").Compute("Sum(订单数量)","[客户] = '" & dr("客户") & "' and [产品] = '" & dr("产品") & "' and [颜色] = '" & dr("颜色") & "'")
    dr("发货数量") = DataTables("产品明细").Compute("Sum(出仓数量)","[客户] = '" & dr("客户") & "' and [产品] = '" & dr("产品") & "' and [颜色] = '" & dr("颜色") & "'")
    dr("欠货数量") = dr("订单数量") -  dr("发货数量")
Next
'MainTable= Tables("统计")

Tables("欠货统计_欠货统计表").DataSource = DataTables("欠货统计")
'设置月份的列宽
'For Each c As Col In Tables("欠货统计_欠货统计表").Cols 
     'If c.DataCol.IsNumeric Then
        'c.Width = 50
     'End If
'Next
Tables("欠货统计_欠货统计表").AutoSizeCols() '设置自动列宽
'删除数值为空的记录
'DataTables("欠货统计").DeleteFor("[合计] = 0" )
forms("欠货统计").open()
[此贴子已经被作者于2018/2/28 13:26:09编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2018/2/28 15:00:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:snap1.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2018/2/28 15:39:00 [显示全部帖子]

代码在窗口的AfterLoad事件中为什不行呢

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2018/2/28 15:46:00 [显示全部帖子]

没事了,谢谢

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2018/3/1 11:18:00 [显示全部帖子]

临时统计表中如何删除欠货数量为0的记录和设置表空白区域颜色?以下代码都不行

Tables("欠货统计_产品欠货表").DeleteFor("[欠货数量] = 0" )
Forms("欠货统计").Controls("产品欠货表").DeleteFor("[欠货数量] = 0" )
Tables("欠货统计_产品欠货表").SysStyles("EmptyArea").BackColor = Color.WhiteSmoke '表空白区的背景设置为灰色
Forms("欠货统计").Controls("产品欠货表").Table.SysStyles("EmptyArea").BackColor = Color.WhiteSmoke '表空白区的背景设置为灰色

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2018/3/1 14:14:00 [显示全部帖子]

8楼的问题解决了.还有,
在1楼的代码中, dr("欠货数量") = dr("订单数量") -  dr("发货数量")
当订单数量或发货数量有空值时如何进行计算? 

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2018/3/1 14:51:00 [显示全部帖子]

左表的发货数量与右表的发货数量不等(应该是相等),发现左表中,当没有订单数量时.就遗漏了发货数量的计算

图片点击可在新窗口打开查看此主题相关图片如下:snap1.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2018/3/1 14:53:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:snap4.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:snap5.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2018/3/1 18:56:00 [显示全部帖子]

再谢.再问:临时表的列排序标识如何取消?

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2018/3/2 12:04:00 [显示全部帖子]

下面代码有什么问题?为什么不汇总订单数量和发货数量,销售订单明细和产品明细表中都有3条记录,临时统计表中只有1条记录,没有汇总
'生成客户欠货统计表
Dim dtb As New DataTableBuilder("客户欠货统计")
dtb.AddDef("客户", Gettype(String), 32)
dtb.AddDef("产品", Gettype(String), 32)
dtb.AddDef("颜色", Gettype(String), 32)
dtb.AddDef("订单数量", Gettype(Integer))
dtb.AddDef("发货数量", Gettype(Integer))
dtb.AddDef("欠货数量", Gettype(Integer))
dtb.Build()
'填充数据
Dim f As New Filler
f.SourceTable = DataTables("销售订单明细")
f.SourceCols = "客户,产品,颜色" 
f.DataTable = DataTables("客户欠货统计")
f.DataCols = "客户,产品,颜色"
f.ExcludeExistValue = True
f.Fill()
f = New Filler
f.SourceTable = DataTables("产品明细")
f.SourceCols = "客户,产品,颜色" 
f.DataTable = DataTables("客户欠货统计")
f.DataCols = "客户,产品,颜色"
f.ExcludeExistValue = True
f.Fill()
'客户欠货统计
For Each dr As DataRow In DataTables("客户欠货统计").DataRows
    dr("订单数量") = DataTables("销售订单明细").Compute("Sum(订单数量)","[客户] = '" & dr("客户") & "' and [产品] = '" & dr("产品") & "' and [颜色] = '" & dr("颜色") & "'")
    dr("发货数量") = DataTables("产品明细").Compute("Sum(出仓数量)","[客户] = '" & dr("客户") & "' and [产品] = '" & dr("产品") & "' and [颜色] = '" & dr("颜色") & "'")
    dr("欠货数量") = dr("订单数量") -  dr("发货数量")
Next
'Tables("欠货统计_客户欠货表").DataSource = DataTables("客户欠货统计")
Forms("欠货统计").Controls("客户欠货表").Table.DataSource = DataTables("客户欠货统计")

[此贴子已经被作者于2018/3/2 12:03:51编辑过]

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