以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  查找,并由竖列变横行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94426)

--  作者:zhangning
--  发布时间:2016/12/23 10:23:00
--  查找,并由竖列变横行

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

老师,您好!

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

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

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


--  作者:有点蓝
--  发布时间: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编辑过]

--  作者:狐狸爸爸
--  发布时间: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
--  发布时间:2016/12/23 13:16:00
--  
没有反应


--  作者:zhangning
--  发布时间:2016/12/23 13:17:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工序用机器.zip


--  作者:zhangning
--  发布时间:2016/12/23 13:17:00
--  
请老师帮看看,谢谢!
--  作者:有点蓝
--  发布时间:2016/12/23 14:13:00
--  
1、代码不适合放在表事件,放到命令窗口或者窗口按钮执行

2、peq表没有对应的列

--  作者:狐狸爸爸
--  发布时间:2016/12/23 14:28:00
--  
我帮你写了一下:

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


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