以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问如何针对表1、表2中相同的项目进行合计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=9611)

--  作者:hty4000
--  发布时间:2011/4/27 12:52:00
--  请问如何针对表1、表2中相同的项目进行合计

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

 

 

 


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

 

  

 


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

 

请问如何对表1、表2中代码相同、项目名称相同的数据进行合计后放在另外一张表上


--  作者:mr725
--  发布时间:2011/4/27 13:07:00
--  
合计到哪? 第一张还是第二张表?? 是用Excel做吗??
--  作者:hty4000
--  发布时间:2011/4/27 13:10:00
--  
合计到另外一张表上,将这两张表的数据导入到foxtable中,这样要快些,数据量有点大
[此贴子已经被作者于2011-4-27 13:11:55编辑过]

--  作者:mr725
--  发布时间:2011/4/27 13:17:00
--  
这个简单,给个例子帮你搞定。(做例子麻烦呀)
--  作者:hty4000
--  发布时间:2011/4/27 13:21:00
--  

就是上面的两张表(附件已上传),导入foxtable中,然后将代码相同、项目名称相同的数据进行合计后放在另外一张表上中,同样保留有代码和项目名称

[此贴子已经被作者于2011-4-27 13:21:32编辑过]

--  作者:mr725
--  发布时间:2011/4/27 13:45:00
--  

\'1、导入:

Dim ip As New Importer
ip.SourcePath = "c:\\book1.xls" \'指定数据文件
ip.SourceTableName = "表1" \'指定要导入的表
ip.NewTableName ="表1" \'导入后的表名
ip.Format = "Excel" \'指定导入格式
ip.Import()

Dim ip1 As New Importer
ip1.SourcePath = "c:\\book1.xls" \'指定数据文件
ip1.SourceTableName = "表2" \'指定要导入的表
ip1.NewTableName ="表2" \'导入后的表名
ip1.Format = "Excel" \'指定导入格式
ip1.Import()

 

\'2、自己设计好 表3:

 

\'3、充填:::::::::
Dim f As New Filler
f.SourceTable = DataTables("表1") \'指定数据来源
f.SourceCols = "代码" \'指定数据来源列
f.DataTable = DataTables("表3") \'指定数据接收表
f.DataCols = "代码" \'指定数据接收列
f.ExcludeExistValue = True
f.Fill() \'填充数据

Dim f1 As New Filler
f1.SourceTable = DataTables("表2") \'指定数据来源
f1.SourceCols = "代码" \'指定数据来源列
f1.DataTable = DataTables("表3") \'指定数据接收表
f1.DataCols = "代码" \'指定数据接收列
f1.ExcludeExistValue = True
f1.Fill() \'填充数据

 

\'4、计算:::::::
Dim dr1,dr2 As DataRow
For Each dr As DataRow In DataTables("表3").datarows
    dr1 = DataTables("表1").Find("代码 = \'" & dr("代码") & "\'")
    dr2 = DataTables("表2").Find("代码 =  \'" & dr("代码") & "\'")
    If dr1 IsNot Nothing And dr2 IsNot Nothing
        dr("项目一") =  dr1("项目一") + dr2("项目一")
        dr("项目二") =  dr1("项目二") + dr2("项目二")
        dr("项目三") =  dr1("项目三")
        dr("项目四") =  dr1("项目四") + dr2("项目四")
        dr("项目五") =  dr1("项目五") + dr2("项目五")
        dr("项目七") =   dr2("项目七")
    ElseIf dr1 IsNot Nothing And dr2 Is Nothing
        dr("项目一") =  dr1("项目一")
        dr("项目二") =  dr1("项目二")
        dr("项目三") =  dr1("项目三")
        dr("项目四") =  dr1("项目四")
        dr("项目五") =  dr1("项目五")
    ElseIf dr1 Is Nothing And dr2 IsNot Nothing
        dr("项目一") =  dr2("项目一")
        dr("项目二") =  dr2("项目二")
        dr("项目四") =  dr2("项目四")
        dr("项目五") =  dr2("项目五")
        dr("项目七") =  dr2("项目七")
    End If
Next


--  作者:mr725
--  发布时间:2011/4/27 13:46:00
--  
注意: 将参与计算的列都给为数字型···
--  作者:hty4000
--  发布时间:2011/4/28 16:14:00
--  

非常感谢!!!