以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]父表如何引用两个子表数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=61578)

--  作者:jlccrtl
--  发布时间:2014/12/15 13:15:00
--  [求助]父表如何引用两个子表数据
If e.DataCol.Name = "产品图号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("库房保管员") = Nothing
        e.DataRow("车间名称") = Nothing
        e.DataRow("产品名称") = Nothing
        e.DataRow("销售保管员") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("车间入库数量统计表").Find("产品图号 = \'" & e.DataRow("产品图号") & "\' and 库房保管员 is not null")
        dr = DataTables("车间入库数量统计表").Find("产品图号 = \'" & e.DataRow("产品图号") & "\' and 车间名称 is not null")
        dr = DataTables("车间入库数量统计表").Find("产品图号 = \'" & e.DataRow("产品图号") & "\' and 产品名称 is not null")
        dr = DataTables("销售入库数量统计表").Find("产品图号 = \'" & e.DataRow("产品图号") & "\' and 销售保管员 is not null")
        If dr IsNot Nothing 
            e.DataRow("库房保管员") = dr("库房保管员")
            e.DataRow("车间名称") = dr("车间名称")
            e.DataRow("产品名称") = dr("产品名称")
            e.DataRow("销售保管员") = dr("销售保管员")
        End If
    End If
End If


父表如何引用两个子表数据的字符型列

--  作者:czy
--  发布时间:2014/12/15 13:40:00
--  


If e.DataCol.Name = "产品图号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("库房保管员") = Nothing
        e.DataRow("车间名称") = Nothing
        e.DataRow("产品名称") = Nothing
        e.DataRow("销售保管员") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("车间入库数量统计表").Find("产品图号 = \'" & e.DataRow("产品图号") & "\' and 库房保管员 is not null")
        If dr IsNot Nothing
            e.DataRow("库房保管员") = dr("库房保管员")
        End If
        dr = DataTables("车间入库数量统计表").Find("产品图号 = \'" & e.DataRow("产品图号") & "\' and 车间名称 is not null")
        If dr IsNot Nothing
            e.DataRow("车间名称") = dr("车间名称")
        End If
        dr = DataTables("车间入库数量统计表").Find("产品图号 = \'" & e.DataRow("产品图号") & "\' and 产品名称 is not null")
        If dr IsNot Nothing
            e.DataRow("产品名称") = dr("产品名称")
        End If
        dr = DataTables("销售入库数量统计表").Find("产品图号 = \'" & e.DataRow("产品图号") & "\' and 销售保管员 is not null")
        If dr IsNot Nothing
            e.DataRow("销售保管员") = dr("销售保管员")
        End If
    End If
End If

 

不过感觉这样很不妥,比如一个图号下如果有多个生产车间就会有问题。


--  作者:jlccrtl
--  发布时间:2014/12/15 13:57:00
--  
应该不会有重复的
遇到的话没想好怎么解决

Dim f As New Filler

f.SourceTable = DataTables("产成品入库数量") \'指定数据来源

f.SourceCols = "产品图号" \'指定数据来源列

f.DataTable = DataTables("产值") \'指定数据接收表

f.DataCols = "产品图号" \'指定数据接收列

f.ExcludeExistValue = True

f.Fill() \'填充数据

f = New Filler

f.SourceTable = DataTables("工时报价") \'指定数据来源

f.SourceCols = "产品图号" \'指定数据来源列

f.DataTable = DataTables("产值") \'指定数据接收表

f.DataCols = "产品图号" \'指定数据接收列

f.ExcludeExistValue = True

f.Fill() \'填充数据

f.SourceTable = DataTables("工时报价") \'指定数据来源
f.SourceCols = "结算价格" \'指定数据来源列
f.DataTable = DataTables("产值") \'指定数据接收表
f.DataCols = "结算价格" \'指定数据接收列
f.ExcludeExistValue = True
f.Fill() \'填充数据


想把报价不重复的引用到产值表里面

红字的应该怎么改?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:产值例子.foxdb



--  作者:有点甜
--  发布时间:2014/12/15 14:09:00
--  
      
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:产值例子.foxdb