Foxtable(狐表)用户栏目专家坐堂 → 请帮助解决?


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

主题:请帮助解决?

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
请帮助解决?  发帖心情 Post By:2013/2/14 16:11:00 [只看该作者]

请帮助解决?

 

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

 

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


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

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2013/2/15 12:23:00 [只看该作者]

这种情况还不如直接在表A加两个表达式列,合并相关数据后再在表B进行填充

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2013/2/15 18:50:00 [只看该作者]

我这里的合并是指1、2、3列、1、4、5列、1、6、7列分别输出3个access数据库,再把他们合并到一个数据表中。并不是指累加。我不想用输出access的方法合并。

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


加好友 发短信
等级:婴狐 帖子:46 积分:468 威望:0 精华:2 注册:2012/12/17 13:35:00
  发帖心情 Post By:2013/2/15 23:21:00 [只看该作者]

属性名 说明 MergeMode 获得或者设置Table的合并方式 MergeCols, 逻辑型,用于切换合并模式 MergeMode属性是MergeModeEnum型枚举,包括以下可选值: 值 说明 None 不合并 Standard 标准合并模式,左边的单元格必须处于合并状态下,内容相同的单元格才会合并。 Free 自由合并,不管左边单元格是否处于合并模式,只要相邻单元格内容相同,均会合并 示例 下面的代码合并订单表中的客户、雇员两列,因为是标准合并模式,请在执行之前,将客户、雇员两列移到最左边。 完整的合并模式设置代码: 建议您先看完孤表的主要特长,如果让孤表开发,你的程序得按孤表能完成的思路没计。编程主要是思想和选择开发环境。缺一不可,深思,特别记住别想到那做到那儿,这样您的软件注定是拉圾,愚见,请见谅!

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2013/2/16 21:55:00 [只看该作者]

是否可以根据上面图中的数据简单写下代码?

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2013/2/17 20:27:00 [只看该作者]

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

一、二、三、

一、四、五、

一、六、七、

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

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

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2013/2/18 17:23:00 [只看该作者]

谢谢,很感谢,就是这个意思。再次感谢

 回到顶部