以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  跨表引用和跨表统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89938)

--  作者:szsmall
--  发布时间:2016/9/1 16:52:00
--  跨表引用和跨表统计
价格对比表,从材料表引用相关厂家的报价,做横向比较
项目统计表,按产品名称,从项目订购表,统计每个项目的订购数量
怎样才能达到上面的效果

试着按帮助在项目统计表DataColChanged,写下面的代码,但没反应:
Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("项目订购表")

Select Case e.DataCol.Name
Case "产品名称","型号规格"
dr("A项目") = dt.Compute("Sum(数量)","[产品名称] = \'" & dr("产品名称") & "\' and [型号规格] = \'" & dr("型号规格") & "\'and [项目] = \'A项目\'")
End Select


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

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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:cai6.table

[此贴子已经被作者于2016/9/1 17:01:12编辑过]

--  作者:狐狸爸爸
--  发布时间:2016/9/1 17:19:00
--  

设置好代码之后,对于原有数据,你要重置一下列,才会生效:

 

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

 

 

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


--  作者:有点蓝
--  发布时间:2016/9/1 17:25:00
--  
代码没有问题,已经有的数据需要“重置列”:然后在“数据表”功能区“列相关”功能组,单击下面的“重置”按钮
http://www.foxtable.com/webhelp/scr/0625.htm

或者输入新的数据试试

--  作者:szsmall
--  发布时间:2016/9/1 23:20:00
--  

之前的代码,统计“产品名称”“型号规格”都有。

 

为了统计“型号规格”为空的行,写了下面代码,但会把有“型号规格”的也统计进来。怎样才能避免这种情况。

 

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("项目订购表")

 

If dr.IsNull("型号规格") Then
dr("A项目") = dt.Compute("Sum(数量)","[产品名称] = \'" & dr("产品名称") & "\' and [项目] = \'A项目\'")
dr("B项目") = dt.Compute("Sum(数量)","[产品名称] = \'" & dr("产品名称") & "\' and [项目] = \'B项目\'")
dr("C项目") = dt.Compute("Sum(数量)","[产品名称] = \'" & dr("产品名称") & "\' and [项目] = \'C项目\'")

Else
Select Case e.DataCol.Name
    Case "产品名称","型号规格"
        dr("A项目") = dt.Compute("Sum(数量)","[产品名称] = \'" & dr("产品名称") & "\' and [型号规格] = \'" & dr("型号规格") & "\'and [项目] = \'A项目\'")
        dr("B项目") = dt.Compute("Sum(数量)","[产品名称] = \'" & dr("产品名称") & "\' and [型号规格] = \'" & dr("型号规格") & "\'and [项目] = \'B项目\'")
        dr("C项目") = dt.Compute("Sum(数量)","[产品名称] = \'" & dr("产品名称") & "\' and [型号规格] = \'" & dr("型号规格") & "\'and [项目] = \'C项目\'")
End Select
End If

 

 


图片点击可在新窗口打开查看此主题相关图片如下:规格 为空2.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/9/1 23:22:44编辑过]

--  作者:Hyphen
--  发布时间:2016/9/1 23:23:00
--  
dr("A项目") = dt.Compute("Sum(数量)","[产品名称] = \'" & dr("产品名称") & "\' and [项目] = \'A项目\' and 型号规格 is null")

b、c自己改改