以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多表关联设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=195666)

--  作者:竑凯
--  发布时间:2025/2/26 21:51:00
--  多表关联设置
我有产品表  和  材料表  二个表内数据都有   CodeId列用于记录每行数据     另外单独有个  产品和材料关联ID的数据表    请教下 我要如何才能实现  在产品表内  可以单击选择产品后 显示出来这个产品   关联的其它材料数据


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


--  作者:y2287958
--  发布时间:2025/2/27 8:07:00
--  
设置表关联
--  作者:有点蓝
--  发布时间:2025/2/27 8:41:00
--  
http://www.foxtable.com/webhelp/topics/0091.htm
--  作者:竑凯
--  发布时间:2025/2/27 10:28:00
--  
老大  我试过这个  好像没办法实现!   因为ID关联的表是在 另外一个表存在的  并不在二个表之间有列数据进行关联
--  作者:有点蓝
--  发布时间:2025/2/27 11:03:00
--  
没看懂,请举例说明
--  作者:竑凯
--  发布时间:2025/4/6 19:54:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
  上面是数据库后台的结构  


想实现下面的效果!
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2025/4/6 20:35:00
--  
这种使用查询表做:http://www.foxtable.com/webhelp/topics/2322.htm,把关联表和材料表合并为一个查询表,然后在使用产品表和查询表在Foxtable里作关联
--  作者:竑凯
--  发布时间:2025/4/7 9:00:00
--  
我试了下 确实可以了  但是这里又有个问题  我关联在一起的目的是方便修改数据   查询表不支持修改数据   请问下  这个有什么办法解决呢?
--  作者:有点蓝
--  发布时间:2025/4/7 9:13:00
--  
那就不用使用查询表了。也不需要设置表关联,考虑使用模拟关联:http://www.foxtable.com/webhelp/topics/2222.htm

产品表的currentchanged事件,根据当前行的产品ID,给材料表设置加载条件,加载需要的数据,比如

If Forms("窗口1").Opened() \'一定要判断用于模拟关联表的窗口是否已经打开
    Dim
 dt As dataTable = dataTables("窗口1_Table1"
)
    With
 e.table

        If
 .Current Is Nothing 
Then
            dt.loadFilter = 
"1=2"
        
Else
            dt.loadFilter = 
"codeid in (select profilecode from 关联表 where prodcode =\'" & .Current("codeid") & "\'"
        End
 
IF
dt.load
    
End With
End
 If