Foxtable(狐表)用户栏目专家坐堂 → 查找,并由竖列变横行


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

主题:查找,并由竖列变横行

美女呀,离线,留言给我吧!
zhangning
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
查找,并由竖列变横行  发帖心情 Post By:2016/12/23 10:23:00 [只看该作者]


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

老师,您好!

如图所示黑框内:同一“部品ID”,的同一“工程”用的“使用机器1”有4个(有的是3个,有的是8个,没有规律),
需要将使用的机器横行显示,并仅仅留下全部使用机器的那一行,其他的删除,
效果如下:

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

请问老师,这个怎么弄呢?


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


加好友 发短信
等级:超级版主 帖子:107961 积分:549186 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/23 11:28:00 [只看该作者]

试试,测试前备份一下数据


Dim cmd As new SQLCommand
cmd.CommandText = "select 部品ID from {表A} group by 部品ID having count(使用机器1) > 1"
Dim dt As DataTable = cmd.ExecuteReader()
If dt.DataRows.Count > 0 Then
    Dim dr2 As DataRow
    For Each dr As DataRow In dt.DataRows
        Dim drs As List(Of DataRow) = DataTables("表A").Select("部品ID = '" & dr("部品ID") & "'")
        dr2 = drs(0)
        Dim idx As Integer = 1
        For i As Integer = 0 To drs.Count - 1
            If drs(i).Isnull("使用机器1") = False Then
                dr2("使用机器" & idx) = drs(i)("使用机器1")
                idx += 1
            End If
        Next
        For i As Integer = 1 To drs.Count - 1
            drs(i).Delete
        Next
    Next
End If
[此贴子已经被作者于2016/12/23 14:13:22编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/23 11:43:00 [只看该作者]

Dim drs As List(of DataRow) = DataTables("表A").Select("","新品ID,工程")
Dim dr As DataRow = drs(0)
Dim cnt As Integer = 2
For i As Integer = 1 To drs.count -1
    If drs(i)("新品ID") = dr("新品ID") AndAlso drs(i)("工程") = dr("工程")
        dr("使用机器" & cnt) = drs(i)("使用机器1")
        drs(i).delete
        cnt = cnt + 1
    Else
        cnt = 2
        dr = drs(i)
    End If
Next

[此贴子已经被作者于2016/12/23 11:42:56编辑过]

 回到顶部
美女呀,离线,留言给我吧!
zhangning
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/12/23 13:16:00 [只看该作者]

没有反应


 回到顶部
美女呀,离线,留言给我吧!
zhangning
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/12/23 13:17:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工序用机器.zip


 回到顶部
美女呀,离线,留言给我吧!
zhangning
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/12/23 13:17:00 [只看该作者]

请老师帮看看,谢谢!

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


加好友 发短信
等级:超级版主 帖子:107961 积分:549186 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/23 14:13:00 [只看该作者]

1、代码不适合放在表事件,放到命令窗口或者窗口按钮执行

2、peq表没有对应的列

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/12/23 14:28:00 [只看该作者]

我帮你写了一下:

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


建议你回头看两遍帮助,或者系统学习置顶的视频教程,否则我们对您的帮助并没有多少实质意义。

 回到顶部