以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=20916)

--  作者:深山老翁
--  发布时间:2012/6/23 14:44:00
--  [求助]
请问老师:表A的列一,列二,列三的数据怎样才能在表B的列三,列四,列五中直接引用而不用再重新输入呢?
--  作者:sloyy
--  发布时间:2012/6/23 16:25:00
--  

用填充的办法最好

Dim f As New Filler
f.SourceTable = DataTables("表A") \'指定数据来源
f.SourceCols = "第一列,第二列,第三列" \'指定数据来源列
f.DataTable = DataTables("表B") \'指定数据接收表
f.DataCols = "第三列,第四列,第五列" \'指定数据接收列
f.Fill() \'填充数据


--  作者:深山老翁
--  发布时间:2012/6/24 14:59:00
--  

我是一个初学者,烦请老师现再给指点一下,把上述的代码放在那儿呢?谢谢了


--  作者:狐狸爸爸
--  发布时间:2012/6/25 6:33:00
--  

看这里吧:

http://www.foxtable.com/help/topics/1458.htm

 

最好先按顺序看帮助:

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


--  作者:深山老翁
--  发布时间:2012/6/25 11:49:00
--  

谢谢老师.这个问题解决了,但新的问题又来了,这组自动输入的代码单独使用是行的,但我原来在DataColCahangd事件中已有一组自动计算的代码.再放上去就出错.这二组代码是:一.自动输入代码

 

If e.DataCol.Name = "编号" Then \'发生变化的是产品编号吗?
    \'
在产品表找出该产品
   
Dim dr As DataRow
    dr = DataTables("
客户订单").Find("编号 = " & "\'" & e.DataRow("编号") & "\'" )
    If dr IsNot Nothing \'
如果找到, 则设置各列内容
        e.DataRow("
")= dr("")
        e.DataRow("
")= dr("")
       e.DataRow("
")= dr("")

e.DataRow("订购数量")= dr("订购数量")

 

第二组是自动计算的代码:

 

Dim dr As DataRow = e.DataRow

Select Case e.DataCol.Name

    Case "长", "宽", "刀数"

         dr("长度")  = (dr("长") + dr("宽")) * dr("刀数") + 3.5

End Select

Select Case e.DataCol.Name

     Case  "宽", "高"

         dr("门幅") = (dr("高") + dr("宽")) +0.4

End Select

Select Case e.DataCol.Name

     Case  "宽"

         dr("左") = dr("宽") /2 +0.2

End Select

Select Case e.DataCol.Name

     Case  "高"

         dr("中") = dr("高")

End Select

Select Case e.DataCol.Name

     Case  "左"

         dr("右") = dr("左")

End Select

 

以上二组代码单独都能使用的.不知道能不能放在一起使用,谢谢老师指教.并要求得到帮助.


--  作者:狐狸爸爸
--  发布时间:2012/6/25 12:14:00
--  
If e.DataCol.Name = "编号" Then \'发生变化的是产品编号吗?
    \'在产品表找出该产品
    Dim dr1 As DataRow
    dr1 = DataTables("客户订单").Find("编号 = " & "\'" & e.DataRow("编号") & "\'" )
    If dr1 IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("长")= dr1("长")
        e.DataRow("宽")= dr1("宽")
        e.DataRow("高")= dr1("高")
        e.DataRow("订购数量")= dr1("订购数量")
    End If
End If
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "长", "宽", "刀数"
        dr("长度")  = (dr("长") + dr("宽")) * dr("刀数") + 3.5
End Select
Select Case e.DataCol.Name
    Case  "宽", "高"
        dr("门幅") = (dr("高") + dr("宽")) +0.4
End Select
Select Case e.DataCol.Name
    Case  "宽"
        dr("左") = dr("宽") /2 +0.2
End Select
Select Case e.DataCol.Name
    Case  "高"
        dr("中") = dr("高")
End Select
Select Case e.DataCol.Name
    Case  "左"
        dr("右") = dr("左")
End Select

--  作者:深山老翁
--  发布时间:2012/6/26 11:37:00
--  
谢谢老师.