以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关联表问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71068)

--  作者:linswcfr
--  发布时间:2015/7/4 10:55:00
--  [求助]关联表问题

有四个表,表A,表B,表C,表D

 

表A与表B关联,表C与表D关联

 

如何通过窗体中的按钮,判断审核的行,批量导入表C及表C.表D对应的数量到表A及表A.表B中

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


--  作者:狐狸爸爸
--  发布时间:2015/7/4 11:13:00
--  
简单,按钮代码:

For Each dr1 As DataRow  In DataTables("表C").Select("审核 = True")
    Dim dr2 As Row  = Tables("表A").Addnew
    dr2("日期") = dr1("日期")
    dr2("单号") = dr1("单号")
    dr2("厂家")  =dr1("厂家")
    For Each dr3 As DataRow In dr1.GetChildRows("表D")
        Dim dr4 As Row  = Tables("表B").Addnew    
        dr4("单号") = dr3("单号")
        dr4("产品") = dr3("产品")
        dr4("数量") = dr3("数量")
    Next
Next



--  作者:linswcfr
--  发布时间:2015/7/4 11:24:00
--  
那要判断已经导入的单号了,如果已经导入的单号,不能再次导入
[此贴子已经被作者于2015/7/4 11:29:12编辑过]

--  作者:狐狸爸爸
--  发布时间:2015/7/4 11:29:00
--  
For Each dr1 As DataRow  In DataTables("表C").Select("审核 = True")
    if DataTables("表A").Find("单号= \'" & dr1("单号") & “‘") Isnot Nothing then \'如果此单号已经存在,则跳过。
        Continue For
    End if 
    Dim dr2 As Row  = Tables("表A").Addnew
    dr2("日期") = dr1("日期")
    dr2("单号") = dr1("单号")
    dr2("厂家")  =dr1("厂家")
    For Each dr3 As DataRow In dr1.GetChildRows("表D")
        Dim dr4 As Row  = Tables("表B").Addnew    
        dr4("单号") = dr3("单号")
        dr4("产品") = dr3("产品")
        dr4("数量") = dr3("数量")
    Next
Next

--  作者:linswcfr
--  发布时间:2015/7/4 11:31:00
--  
谢谢狐狸爸爸
--  作者:狐狸爸爸
--  发布时间:2015/7/4 11:31:00
--  
我感觉不是在做技术支持,而是免费的自动代码生成器。


图片点击可在新窗口打开查看



--  作者:linswcfr
--  发布时间:2015/7/4 11:41:00
--  

能者多劳,呵呵

 

 

在学习过程中,看帮助的时候挺顺的,但动手时一些想法,就融汇贯通不起来..