以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何实现关联表的跨表引用  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42494)

--  作者:643561836
--  发布时间:2013/11/13 15:02:00
--  如何实现关联表的跨表引用
要实现功能如图 
图片点击可在新窗口打开查看此主题相关图片如下:001.png
图片点击可在新窗口打开查看


能否用帮助中的跨表引用


If e.DataCol.Name = "编号" Then \'如果内容发生变动的是品名列
If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空
e.
DataRow("执行标准") = Nothing \'那么清空此行单价列的内容
Else
Dim
dr As DataRow
\'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
dr =
DataTables("项目跟踪表").Find("[编号] = \'" & e.NewValue & "\'")
If
dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing
e.
DataRow("执行标准") = dr("执行标准")
End
If
End
If
End
If

--  作者:643561836
--  发布时间:2013/11/13 15:03:00
--  
测试没果,请多指点
--  作者:狐狸爸爸
--  发布时间:2013/11/13 15:04:00
--  

dr = DataTables("项目跟踪表").Find("[编号] = \'" & e.NewValue & "\'")

 

 

改为:

 

dr = DataTables("任何表的表名,只要有数据,不管是本编还是其他表").Find("[编号] = \'" & e.NewValue & "\'")


--  作者:Bin
--  发布时间:2013/11/13 15:04:00
--  
根据你的图 + 你引用的帮助  没理解你的需求.
--  作者:643561836
--  发布时间:2013/11/13 15:21:00
--  
上传个例子
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:跨表引用.table


--  作者:Bin
--  发布时间:2013/11/13 15:55:00
--  
希望选择执行标准后,关联系表中的所有行执行标准自动录入,但可以改为特价标准!


不明白你的意思,你是要把所有的标准录入过来吗? 录入到哪里? 还是找到对应标准的行填充到列去?   但可以改为特价标准是什么意思?

--  作者:643561836
--  发布时间:2013/11/13 16:04:00
--  
就是我在项目跟踪表选了执行标准后,它的关联产品的列自动输入这个执行标准,一个项目可能有10-20个产品的,其它3-4个有可能会申请不同的执行标准价格,这个时候我们可以在关联的产品行中改执行标准!
--  作者:Bin
--  发布时间:2013/11/13 16:18:00
--  
是不是想要这样?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:跨表引用.table


--  作者:643561836
--  发布时间:2013/11/13 16:51:00
--  
高手,就是这个效果,
如果变成是执行标准采用  窗口录入就无效了!
在下拉框里面的什么位置做设置吗?


--  作者:Bin
--  发布时间:2013/11/13 16:53:00
--  
你把代码复制到 控件的TextChanged事件即可