以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何让a表按照b表、c表进行排序呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160736)

--  作者:宇哥
--  发布时间:2021/2/19 15:17:00
--  如何让a表按照b表、c表进行排序呢?
假设a表有员工列、部门列,B表有员工列、排序列,c表有部门列、排序列
如何让a表按照b表、c表进行排序呢?

--  作者:有点蓝
--  发布时间:2021/2/19 15:20:00
--  
没有办法。
--  作者:宇哥
--  发布时间:2021/2/19 15:50:00
--  
不是吧 ? 蓝版
--  作者:宇哥
--  发布时间:2021/2/19 15:53:00
--  
有没有变通办法呢?


--  作者:有点蓝
--  发布时间:2021/2/19 15:55:00
--  
排序是本表的事,只能在本表添加排序列,无法借助其它表的顺序
--  作者:y2287958
--  发布时间:2021/2/19 16:23:00
--  
可能是没表述明白,上实例吧
--  作者:宇哥
--  发布时间:2021/2/19 16:33:00
--  
先放弃一下
--  作者:行远自迩
--  发布时间:2021/2/19 16:58:00
--  
做个查询试试,左表 右表
--  作者:宇哥
--  发布时间:2021/2/20 9:24:00
--  
篮版,这样变通应该可以:
部门表 DataColChanged 事件:
打算部门表修改值得时候,遍历主表全部替换,现在只会替换当前部门,如何改一下循环每次执行全替换

Select Case  e.DataCol.Name
    Case "单位","部门","排序","代码"
        Dim Filter As String =""
Dim drs As List(Of DataRow)
For Each nr As Row In Tables("部门表").rows
        Filter = "[单位] = \'" &e.DataRow("代码")& "\'and  [部门] = \'" & e.oldvalue & "\'"
        drs = DataTables("主表").Select(Filter)
        For Each Nr As String In Nrs

            For Each dr As DataRow In drs
                If dr IsNot Nothing
                    dr("单位")=e.DataRow("代码")
                    dr("部门")=e.newvalue
                    dr("部门排序")=e.DataRow("排序")
                End If
            Next
        Next
End Select
[此贴子已经被作者于2021/2/20 9:51:04编辑过]

--  作者:有点蓝
--  发布时间:2021/2/20 10:11:00
--  
Select Case  e.DataCol.Name
    Case "部门","排序","代码"
        Dim Filter As String =""
        Dim drs As List(Of DataRow)
        If e.DataCol.Name = "部门"
            Filter = "[单位] = \'" & e.DataRow("代码") & "\'and  [部门] = \'" & e.oldvalue & "\'"
        Else
            Filter = "[单位] = \'" & e.DataRow("代码") & "\'and  [部门] = \'" & e.DataRow("部门") & "\'"
        End If
        drs = DataTables("主表").Select(Filter)
        For Each dr As DataRow In drs
            dr("单位")=e.DataRow("代码")
            dr("部门")= e.DataRow("部门")
            dr("部门排序")=e.DataRow("排序")
        Next
End Select