以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 多表关联设置 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=195666) |
-- 作者:竑凯 -- 发布时间:2025/2/26 21:51:00 -- 多表关联设置 我有产品表 和 材料表 二个表内数据都有 CodeId列用于记录每行数据 另外单独有个 产品和材料关联ID的数据表 请教下 我要如何才能实现 在产品表内 可以单击选择产品后 显示出来这个产品 关联的其它材料数据 |
-- 作者: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 -- ![]() ![]() 上面是数据库后台的结构 |
-- 作者:有点蓝 -- 发布时间: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 |