以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  动态加载的表怎么做模拟关联  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=39901)

--  作者:wuxianzuoji41
--  发布时间:2013/9/4 1:00:00
--  动态加载的表怎么做模拟关联

说明书里有模拟关联

 

Dim t As Table = Tables("窗口1_Table1")
With
Tables("产品")
    If
.Current Is Nothing Then
        t.Filter =
"False"
   
Else
        t.Filter =
"产品编号 = " & .Current("产品编号")
    End
IF
End
With

 

 

If Forms("窗口1").Opened() \'一定要判断用于模拟关联表的窗口是否已经打开
    Dim
t As Table = Tables("窗口1_Table1"
)
    With
Tables("产品"
)
        If
.Current Is Nothing
Then
            t.Filter =
"False"
       
Else
            t.Filter =
"产品编号 = " & .Current("产品编号")
        End
IF
   
End With
End
If

 

我用动态加载FILL 表产品,以下问题帮忙告诉我一下怎么操作

1、说明书里说需要将“关联表的生成模式选择了“无”,”,我动态加载2个表无法使用菜单的关联工具建立这个

2、父子表需要把全部的数据都一起加载进来吗,

3、如果父表加载了一定提交的数据,那子表该提前怎么加载数据

 


--  作者:狐狸爸爸
--  发布时间:2013/9/4 8:21:00
--  

参考:

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

 


--  作者:wuxianzuoji41
--  发布时间:2013/9/4 13:36:00
--  

狐狸爸爸,我加入进去,提示不存在DATATABLE(“定单”)表,因为我的是窗口中模拟这个,我根本没有把这个表放到FT里呀,该怎么处理

 

Tables("窗口客户_tblKehu").Fill("select top 100 customer_id as 客户序号,customer_name as 公司名称,customer_number as 编号,address as 地址,creator as 创建者,create_date as 创建日期,ditu_zuobiao as 坐标 ,x,y,zhengjian as 证件 from crm_customer order by customer_id desc","cc",False)


If DataTables("crm_customer").DataRows.Count = 0 Then \'如果crm_customer表没有数据
    DataTables("crm_customer_linkman").LoadFilter = "crm_customerID Is Null" \'不加载crm_customer_linkman
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("crm_customer").DataRows
        ids = ids & ",\'" & dr("crm_customerID") & "\'"
    Next
    ids= ids.Trim(",")
    DataTables("crm_customer_linkman").LoadFilter = "crm_customerID In (" & ids & ")"
End If
DataTables("crm_customer_linkman").Load()

[此贴子已经被作者于2013-9-4 13:41:40编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/9/4 17:13:00
--  

处理方式都一样,窗口更好处理,就像你上面这样处理就行,先加载主表数据,再加载子表数据。

提示一下,如果是同一个表,不用每次都Fill,应该用Load和LoadFilter