以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]在窗口表中建立关联  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=58002)

--  作者:chnfo
--  发布时间:2014/10/9 21:54:00
--  [求助]在窗口表中建立关联
在窗口中建了一个SQLtable表。然后在afterload事件中:

Dim t As Table = Tables(e.Form.Name &  "_Table1")
t.Fill("Select * From {表1} ",False)
t.AllowEdit = True

Relations.Add("R1",DataTables("表A").DataCols("ID"),t.DataTable.DataCols("AID"))

If t.DataTable.DataCols.Contains("Code") = False Then
    t.DataTable.DataCols.add("Code",Gettype(String),"Parent(R1).Code","编号")
End If

打开窗口的时候提示:不存在名称为“窗口1_table1"的table

难道不能在窗口表中自建关联?

--  作者:有点甜
--  发布时间:2014/10/9 21:56:00
--  

Dim t As Table = e.Form.Controls("Table1").Table
t.Fill("Select * From {表1} ",False)
t.AllowEdit = True


Relations.Add("R1",DataTables("表A").DataCols("ID"),t.DataTable.DataCols("AID"))


If t.DataTable.DataCols.Contains("Code") = False Then
    t.DataTable.DataCols.add("Code",Gettype(String),"Parent(R1).Code","编号")
End If


--  作者:chnfo
--  发布时间:2014/10/9 22:00:00
--  
Dim t As Table = Tables(e.Form.Name &  "_Table1")
----我在其它地方这样写运行正常啊。

为什么要这样子呢?

Dim t As Table = e.Form.Controls("Table1").Table

-----貌似这样写运行不动哦
提示:找不到名称为table1的控件
[此贴子已经被作者于2014-10-9 22:04:20编辑过]

--  作者:有点甜
--  发布时间:2014/10/9 22:05:00
--  

 那你就做例子发上来。


--  作者:chnfo
--  发布时间:2014/10/9 22:16:00
--  
这是例子,请指教。
窗口管理-找到窗口-应用窗口,就出错了

表B中的code,title,spe,unit都是表达式列
貌似用fill方法时,表达式列是不能加载进来的。所以,只能找到源头的A表,建立关联,然后用表达式把这四列的数据加载进来。


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

[此贴子已经被作者于2014-10-9 22:23:10编辑过]

--  作者:有点甜
--  发布时间:2014/10/9 22:33:00
--  

 beforeclose事件加入代码

 

Relations.Delete("R1")