以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- A表与B表 的列共享问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84195) |
-- 作者:kmzb56 -- 发布时间:2016/4/25 18:57:00 -- A表与B表 的列共享问题 A表 与B表,想让B表与A表的几列与A表的几列相关的值,并且由A表的值决定,B表的值不能自主修改,我知道的方法是用A表与B表关联,然后B表用表达试的方式指定值为父表的某列,请问有其它用代码的方式实现没?怎么设计?或有帮助文档没? |
-- 作者:大红袍 -- 发布时间:2016/4/25 19:38:00 -- 其它方法:跨表引用
http://www.foxtable.com/help/topics/1451.htm
http://www.foxtable.com/help/topics/1453.htm
|
-- 作者:kmzb56 -- 发布时间:2016/4/25 21:47:00 -- 谢谢!看来得再看一下帮助文档了,但这样提醒让我更有针对性,效率也更高。 |
-- 作者:kmzb56 -- 发布时间:2016/4/25 22:32:00 -- 这个方式是可以的,但关键是他两个表是得有类似一样的产品编号等,但我的没有,是用identify 与 中一个表的序号做关联,并且没有做单向关联。 |
-- 作者:大红袍 -- 发布时间:2016/4/25 22:40:00 -- 那你代码就改一下啊,列名对应就行的。
dr = DataTables("产品").Find("[_Identify] = \'" & e.NewValue & "\'") |
-- 作者:kmzb56 -- 发布时间:2016/4/27 20:06:00 -- If e.DataCol.Name = "_Identify" Then \'如果内容发生变动的是品名列 If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空 e.DataRow("客户名称") = Nothing \'那么清空此行单价列的内容 Else Dim dr As DataRow dr = DataTables("客户资料").Find("[_Identify] = \'" & e.NewValue & "\'") If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing e.DataRow("客户名称") = dr("客户名称") End If End If End If 不得行,我是想把业务登记表的客户名称,从客户表上继承下来。这样好像不行哟。
|
-- 作者:大红袍 -- 发布时间:2016/4/27 20:08:00 -- If e.DataCol.Name = "产品编号" Then \'如果内容发生变动的是品名列
If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空
e.DataRow("客户名称") = Nothing \'那么清空此行单价列的内容
Else
Dim dr As DataRow = DataTables("客户资料").Find("[_Identify] = \'" & e.NewValue & "\'")
If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing
e.DataRow("客户名称") = dr("客户名称")
End If
End If
End If
|
-- 作者:kmzb56 -- 发布时间:2016/4/27 20:25:00 -- If e.DataCol.Name = "序号" Then \'如果内容发生变动的是品名列 If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空 e.DataRow("客户名称") = Nothing \'那么清空此行单价列的内容 Else Dim dr As DataRow dr = DataTables("客户资料").Find("[_Identify] = \'" & e.NewValue & "\'") If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing e.DataRow("客户名称") = dr("客户名称") e.DataRow("联系人") = dr("主联系人") End If End If End If 这样已经可以了,但问题的关键来了,我是不想用关联表的方式,这样仍然避免不了用关联表,并且我要在关联表的子表下添加记录才可以继承下来,有什么好的办法不用关联的方式没? 我感觉这样跟用关联的效率差不多。因为我业务表的序号是不手动录入的,是靠在子表输入时,序号自动增加变化。 [此贴子已经被作者于2016/4/27 20:26:48编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/4/27 20:58:00 -- 为什么要用关联?你直接写代码就可以的啊。 |
-- 作者:kmzb56 -- 发布时间:2016/4/27 22:39:00 -- 明天上传一下列子。。 |