Foxtable(狐表)用户栏目专家坐堂 → sql 表合并


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

主题:sql 表合并

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107024 积分:544351 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 20:58:00 [显示全部帖子]


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107024 积分:544351 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 21:19:00 [显示全部帖子]

这种不能用sqljointablebuilder你用下面的方法
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef(
"sys_user"Gettype(String), 32)
dtb.AddDef(
"年"Gettype(string),10)
dtb.AddDef(
"msy"Gettype(string),15)
dtb.AddDef("支出合计"Gettype(Double))
dtb.Build()

For Each 
nm() As String In dt1.GetValues("sys_user|年|MSY")
    
Dim dr As DataRow = DataTables("统计").AddNew()
     dr(
"sys_user") = nm(0)
     dr("年") = nm(1)
     dr("msy") = nm(2)
     Dim dr2 as DataRow = dt2.Find("sys_user='" & nm(0) & "' and 年='" & nm(1) & "'")
      if dr2 IsNot Nothing then
      dr("支出合计") = dr2("支出合计")
      endif
Next
MainTable
Tables("统计")

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107024 积分:544351 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 21:49:00 [显示全部帖子]

你先把msy屏蔽如下看看行不行
For Each nm() As String In dt1.GetValues("sys_user|年")
    
Dim dr As DataRow = DataTables("统计").AddNew()
     dr(
"sys_user") = nm(0)
     dr("年") = nm(1)
     'dr("msy") = nm(2)
     Dim dr2 as DataRow = dt2.Find("sys_user='" & nm(0) & "' and 年='" & nm(1) & "'")
      if dr2 IsNot Nothing then
      dr("支出合计") = dr2("支出合计")
      endif
Next

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107024 积分:544351 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 22:08:00 [显示全部帖子]

你测一下执行到哪里了,提示什么错误啊

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107024 积分:544351 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 22:10:00 [显示全部帖子]

你在最后那个程序里加msgbox 看看执行到哪里了

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107024 积分:544351 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 22:12:00 [显示全部帖子]

哦,我知道了dt1和dt2弄反了,你把2个反过来

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107024 积分:544351 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 22:21:00 [显示全部帖子]

这里   Dim dr1 As DataRow = dt1.Find("sys_user='" & nm(0) & "' and 年='" & nm(1) & "'")
如果你的类型是整型的话把单引号去掉,我不知道你是什么类型所以随便写的

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107024 积分:544351 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 22:23:00 [显示全部帖子]

如果是     dr("sys_user") = nm(0) 是整型的话就用val转换一下

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107024 积分:544351 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 22:45:00 [显示全部帖子]

那就没问题啊,执行到那一步了

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107024 积分:544351 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/29 22:51:00 [显示全部帖子]


[此贴子已经被作者于2015/8/29 22:52:01编辑过]

 回到顶部
总数 12 1 2 下一页