以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  跨表查询帮忙改下代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107277)

--  作者:wakai
--  发布时间:2017/9/24 23:49:00
--  跨表查询帮忙改下代码
麻烦老师把这个跨表查询代码,改为在窗体AfterLoad 执行的,实现一打开窗体自动跨表查询,谢谢
If e.DataCol.Name = "申请编号" Then
    Dim nms() As String = {"商品ID","订单数量","申购人"}
    If e.NewValue Is Nothing Then 
        For Each nm As String In nms 
            e.DataRow(nm) = Nothing 
        Next 
    Else 
        Dim dr As DataRow 
        dr = DataTables("包材申请表").Find("[申请编号] = \'" & e.NewValue & "\'") 
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If


--  作者:有点甜
--  发布时间:2017/9/25 0:33:00
--  
For Each cdr As DataRow In DataTables("表A").datarows
    Dim nms() As String = {"商品ID","订单数量","申购人"}
    If cdr.isnull("申请编号") Then
        For Each nm As String In nms
            cdr(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
        dr = DataTables("包材申请表").Find("[申请编号] = \'" & cdr("申请编号") & "\'")
        If dr IsNot Nothing
            For Each nm As String In nms
                cdr(nm) = dr(nm)
            Next
        End If
    End If
Next

--  作者:wakai
--  发布时间:2017/9/25 16:25:00
--  
我是用SQLTABLE来做窗体,用“申请编号”跨表查询“包材申请表”的字段,我“商品ID","订单数量","申购人”等都是新建临时列来实现,除了帮忙这样的代码,还有其它更好的方法 可以实现跨表只查询不修改的吗
--  作者:有点甜
--  发布时间:2017/9/25 16:40:00
--  

方法一:两个表建立关联,然后引用父表(申请表)的对应列的数据;

 

方法二:就是你2楼那样做。没有第三种方法了。


--  作者:wakai
--  发布时间:2017/9/25 16:51:00
--  
明白了