以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请帮助解决?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=28700)

--  作者:lyfxybc
--  发布时间:2013/2/14 16:11:00
--  请帮助解决?

请帮助解决?

 

图中第一列、三列、五列为字符列,二、四、六为数字列,请把一三五列合并在一起,二、四、六合并在一起,加上前面“品号”列,在B表形成三列。

 

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


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

--  作者:czy
--  发布时间:2013/2/15 12:23:00
--  
这种情况还不如直接在表A加两个表达式列,合并相关数据后再在表B进行填充
--  作者:lyfxybc
--  发布时间:2013/2/15 18:50:00
--  
我这里的合并是指1、2、3列、1、4、5列、1、6、7列分别输出3个access数据库,再把他们合并到一个数据表中。并不是指累加。我不想用输出access的方法合并。
--  作者:liuxing4448
--  发布时间:2013/2/15 23:21:00
--  
属性名 说明 MergeMode 获得或者设置Table的合并方式 MergeCols, 逻辑型,用于切换合并模式 MergeMode属性是MergeModeEnum型枚举,包括以下可选值: 值 说明 None 不合并 Standard 标准合并模式,左边的单元格必须处于合并状态下,内容相同的单元格才会合并。 Free 自由合并,不管左边单元格是否处于合并模式,只要相邻单元格内容相同,均会合并 示例 下面的代码合并订单表中的客户、雇员两列,因为是标准合并模式,请在执行之前,将客户、雇员两列移到最左边。 完整的合并模式设置代码: 建议您先看完孤表的主要特长,如果让孤表开发,你的程序得按孤表能完成的思路没计。编程主要是思想和选择开发环境。缺一不可,深思,特别记住别想到那做到那儿,这样您的软件注定是拉圾,愚见,请见谅!
--  作者:lin_hailun
--  发布时间:2013/2/16 9:27:00
--  
以下是引用lyfxybc在2013-2-15 18:50:00的发言:
我这里的合并是指1、2、3列、1、4、5列、1、6、7列分别输出3个access数据库,再把他们合并到一个数据表中。并不是指累加。我不想用输出access的方法合并。


二楼的方法可行,或者直接编写一个简单的代码填充也可以,楼主你的意思是怎样?不是合并各个列的数据,然后写入到一个表么?

--  作者:lyfxybc
--  发布时间:2013/2/16 21:55:00
--  
是否可以根据上面图中的数据简单写下代码?
--  作者:lin_hailun
--  发布时间:2013/2/17 12:10:00
--  
 这样编写代码就行了。

For Each r As Row In Tables("表A").Rows
    Dim fdr As DataRow = DataTables("表B").Find("第一列 = \'" & r("品号") & "\'")
    If fdr Is Nothing Then
        fdr = DataTables("表B").AddNew
        fdr("第一列") = r("品号")
    End If
    fdr("第二列") = r("第一列") & r("第三列") & r("第五列")
    fdr("第三列") = r("第二列") & r("第四列") & r("第六列")
Next

--  作者:lyfxybc
--  发布时间:2013/2/17 20:27:00
--  

谢谢,不是这个意思,我的想法是合并完后变成3列,记录数变为30条了,相当于数据表高速合并那种。

一、二、三、

一、四、五、

一、六、七、

就是把四、五列合并到二、三列下面,六、七列再合并到下面,就变成了30条记录了。

[此贴子已经被作者于2013-2-17 20:30:49编辑过]

--  作者:lin_hailun
--  发布时间:2013/2/18 8:51:00
--  
 明白了 ,代码这样写。

Dim f As New Filler
f.SourceTable = DataTables("表A") \'指定数据来源
f.SourceCols = "品号,第一列,第二列" \'指定数据来源列
f.DataTable = DataTables("表B") \'指定数据接收表
f.DataCols = "第一列,第二列,第三列" \'指定数据接收列
f.Fill() \'填充数据

f.SourceTable = DataTables("表A") \'指定数据来源
f.SourceCols = "品号,第三列,第四列" \'指定数据来源列
f.DataTable = DataTables("表B") \'指定数据接收表
f.DataCols = "第一列,第二列,第三列" \'指定数据接收列
f.Fill() \'填充数据

f.SourceTable = DataTables("表A") \'指定数据来源
f.SourceCols = "品号,第五列,第六列" \'指定数据来源列
f.DataTable = DataTables("表B") \'指定数据接收表
f.DataCols = "第一列,第二列,第三列" \'指定数据接收列
f.Fill() \'填充数据

--  作者:lyfxybc
--  发布时间:2013/2/18 17:23:00
--  
谢谢,很感谢,就是这个意思。再次感谢