以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  两个表的转换实现思路请教  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=83114)

--  作者:douglas738888
--  发布时间:2016/3/31 17:25:00
--  两个表的转换实现思路请教
例子
                                        审核程序
表A(权限设定)         ... 设计   校对   审核   批准 ...
                                   老马   老张   老刘   老王

表B(审核记录)         审核程序    人员    开始日期   结束日期   审核意见 ...
                               设计          老马
                               校对          老张
                               审核          老刘  
                               批准          老王         

请教老师,由表A关联表B,并转换成表B的形式,相当于由列转换成行应该怎样设计。

--  作者:大红袍
--  发布时间:2016/3/31 17:34:00
--  

Dim cs() As String = {"设计", "校对", "审核", "批准"}
For Each r As Row In Tables("表A").rows
    For Each c As String In cs
        If r.IsNull(c) = False Then
            Dim nr As Row = Tables("表B").addnew
            nr("第二列") = c
            nr("第三列") = r(c)
        End If
    Next
Next


--  作者:douglas738888
--  发布时间:2016/4/1 10:56:00
--  
还得再请教老师,通过遍历方式,上述老师指导的代码是把表A内全部行进行的转换,我试着添加current想让指定行进行转换,提示不是成员

请老师再指导下下,如果表A与表B建立了关联,如何转换表A指定的当前行,而不是表A全部行。

--  作者:大红袍
--  发布时间:2016/4/1 10:58:00
--  
Dim cs() As String = {"设计", "校对", "审核", "批准"}
Dim r As Row = Tables("表A").Current
For Each c As String In cs
    If r.IsNull(c) = False Then
        Dim nr As Row = Tables("表B").addnew
        nr("第二列") = c
        nr("第三列") = r(c)
    End If
Next