Foxtable(狐表)用户栏目专家坐堂 → [求助]在表中引用另一个表中的统计结果怎么做?


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

主题:[求助]在表中引用另一个表中的统计结果怎么做?

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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
[求助]在表中引用另一个表中的统计结果怎么做?  发帖心情 Post By:2016/6/17 15:05:00 [显示全部帖子]

专家您好,我有“表1”和“表2”,分别如下:
“表1”
图片点击可在新窗口打开查看此主题相关图片如下:表1.bmp
图片点击可在新窗口打开查看
“表2”
图片点击可在新窗口打开查看此主题相关图片如下:表2.bmp
图片点击可在新窗口打开查看
现在要在“表2”中找到“编号”同“表1”中“编号”相同的所有行中不同“设备”种类数量,例如:在“表2”中找到“编号”为“003”的所有行,统计使用的设备是“A1、B2、A2”共3种,将“3”赋值给“表1”中“编号”为“003”行的“投入设备数量”列中
应当怎么编码?

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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
  发帖心情 Post By:2016/6/17 15:43:00 [显示全部帖子]

我使用的是方法二,在“表1”DataColChanged事件中设置如下代码:

If e.DataCol.Name = "编号" Then 
    e.DataRow("投入设备数量") = DataTables("表2").Compute("Sum(设备)","[设备] = '" & e.NewValue & "'")
    If e.DataCol.Name = "投入设备数量" Then

    Dim pr As DataRow
    pr = 
DataTables(表2).Find("设备 = '" & e.DataRow("设备") & "'")
        If
 pr IsNot Nothing 
Then
            pr(
"投入设备数量")= pr("投入设备数量") + e.NewValue - e.OldValue

        End If
    End
 If

End If


这样编码不能运行,可我不知道怎么写!请教专家


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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
  发帖心情 Post By:2016/6/17 15:58:00 [显示全部帖子]

统计的结果不对,我要在“表2”中找到“编号”为“003”的所有行,统计使用的设备是“A1、B2、A2”3种,将“3”赋值给“表1”中“编号”为“003”行的“投入设备数量”列中,而不是将所有设备的数量(7)统计出来,并赋值给“表1”.请注意红色数字。(这里设备是在不同时间使用了同一台设备的,所以如A1使用了3天,统计时只能统计1次,而不是统计成3,B2使用了2天,统计时只能统计1次,而不是统计成2,A2使用了2天,统计时只能统计1次,而不是统计成2)
[此贴子已经被作者于2016/6/17 16:09:49编辑过]

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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
  发帖心情 Post By:2016/6/17 16:15:00 [显示全部帖子]

谢谢!

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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
  发帖心情 Post By:2016/6/29 8:56:00 [显示全部帖子]

专家您好,请看1楼的表1和表2,我想在关掉表2的同时,重置表1的“编号”列的指定行,假设第10行和最后一行,代码怎么写?写在表2属性的哪个事件中?
我在《指南》只找到以下代码,不知怎么改?

Dim dr As DataRow
dr
= DataTables("表2").Find("","[_SortKey]") '找出第十行和最后一行
If
dr IsNot Nothing Then 

    DataTables("表2").DataCols("编号").RaiseDataColChanged(dr)重置第十行和最后一行 
End
If


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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
  发帖心情 Post By:2016/6/29 9:31:00 [显示全部帖子]

我在下面窗口中打开“生产安排表”

图片点击可在新窗口打开查看此主题相关图片如下:未命名3.bmp
图片点击可在新窗口打开查看
编辑完“生产安排表”的内容后,直接点击关闭按钮关闭,如下:

图片点击可在新窗口打开查看此主题相关图片如下:未命名4.bmp
图片点击可在新窗口打开查看
没有关闭“生产安排表”的代码



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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
  发帖心情 Post By:2016/6/29 9:34:00 [显示全部帖子]

是不是在“生产安排表”的Afterclose代码中写

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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
  发帖心情 Post By:2016/6/29 9:50:00 [显示全部帖子]

我在“生产安排表”的Afterclose代码中写了以下代码,想同时重置"拉动排产计划_高频"表、"拉动排产计划_机加_铣床"表、"拉动排产计划_机加_车床"表、"拉动排产计划_锻造"表中“编号”列的最后一行。
Dim dr As DataRow = Tables("拉动排产计划_高频").Rows(Tables("拉动排产计划_高频").Rows.Count - 1).DataRow
Dim dr As DataRow = Tables("拉动排产计划_机加_铣床").Rows(Tables("拉动排产计划_机加_铣床").Rows.Count - 1).DataRow
Dim dr As DataRow = Tables("拉动排产计划_机加_车床").Rows(Tables("拉动排产计划_机加_车床").Rows.Count - 1).DataRow
Dim dr As DataRow = Tables("拉动排产计划_锻造").Rows(Tables("拉动排产计划_锻造").Rows.Count - 1).DataRow

可是“编号”列在哪里?而且上面的代码也有问题

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


加好友 发短信
等级:幼狐 帖子:126 积分:813 威望:0 精华:0 注册:2015/10/22 10:35:00
  发帖心情 Post By:2016/6/29 10:15:00 [显示全部帖子]

谢谢专家!

 回到顶部