以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于动态建立关联的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=27287)

--  作者:关键下一秒
--  发布时间:2012/12/27 16:10:00
--  [求助]关于动态建立关联的问题


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
各位高人,请帮我看看问题出在哪里,我找了很久没找出原因:

Dim t  As Table = Tables("关联名称档")
For Each r As Row In t.Rows
    If r IsNot Nothing Then
        Dim pt As Boolean =Tables.Contains(r("父表名称"))
        Dim ct As Boolean =Tables.Contains(r("子表名称"))
        If pt=True And ct=True Then
            Dim t1 As DataTable = DataTables(r("父表名称"))
            Dim t2 As DataTable = DataTables(r("子表名称"))
            If Relations.Contains(r("关联名称"))=True Then
                messagebox.show("名称为:[" & r("关联名称") & "]的关联已经存在,不能重复建立!")
            Else
                Dim pc() As String = r("父表关联字段").split(",")
                Dim cc() As String = r("子表关联字段").split(",")
                Dim pcs(pc.length) As DataCol
                Dim ccs(cc.length) As DataCol
                If pc.length>0 Then
                    For i As Integer =0 To pc.length-1
                        pcs(i)=t1.datacols(pc(i))
                        ccs(i)=t2.datacols(cc(i))
                    Next
                End If
                Relations.add(r("关联名称"),pcs,ccs)
            End If
        End If
    End If
Next
 
 

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

--  作者:lin_hailun
--  发布时间:2012/12/27 16:39:00
--  
 看着头晕,你先定位一下在哪里出错。

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

--  作者:关键下一秒
--  发布时间:2012/12/27 17:03:00
--  
lin总都看头晕啊,我已经晕过去一下午了,我一行一行调试了,错误出在    Relations.add(r("关联名称"),pcs,ccs) 句里。就是找不出原因。

--  作者:lin_hailun
--  发布时间:2012/12/27 17:21:00
--  
 试试这样。看看可不可以。

 Dim pcs(pc.length - 1) As DataCol
 Dim ccs(cc.length - 1) As DataCol
--  作者:关键下一秒
--  发布时间:2012/12/27 17:30:00
--  

我刚找到问题,林总真是牛人啊!!!!