以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]跨表取值赋值问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=146530) |
||||
-- 作者:大树孔 -- 发布时间:2020/2/25 20:38:00 -- [求助]跨表取值赋值问题 狐狸戴迪好 有个问题一直不会处理,看过帮助文档很多次还是不会,请求帮帮忙。 现状:现有三个表,分别为“基本信息”、“企业”和“个体户”,通过“编号”列建立关联。 问题: 1、如何实现“基本信息”表中的“案件名称“列可以根据该表中的“公司名称”和表“企业”、“个体户”及对应的关联表自动生成,即“案件名称“的值为 “公司名称”与“企业名称”、“个体户名称”、“个体户经营者” “案由” 案? 2、追加1:“基本信息”每一行对应的关联表“企业”和“个体户”表的数据可能同时存在,也可能只存在其中之一,如何进行判断? 3、追加2:以上是想通过表实现,如果想通过窗口控件实现,又如何实现? 感谢!
[此贴子已经被作者于2020/2/25 20:38:54编辑过]
|
||||
-- 作者:大树孔 -- 发布时间:2020/2/25 20:39:00 --
|
||||
-- 作者:sloyy -- 发布时间:2020/2/25 20:46:00 -- 1 用表达式列 2 不明白什么意思 3 用记录窗
|
||||
-- 作者:大树孔 -- 发布时间:2020/2/25 20:51:00 -- [求助]跨表取值赋值问题 1表达式列无法实现,原因在于父表无法引用子表(如您能做到,烦请帮忙一下,感谢) |
||||
-- 作者:有点蓝 -- 发布时间:2020/2/25 21:44:00 -- 比如: Select Case e.DataCol.Name Case "公司名称","案由","编号" Dim s As String = e.DataRow("公司名称") Dim dr As DataRow = DataTables("企业").Find("编号 = " & e.DataRow("编号")) If dr IsNot Nothing Then s = s & dr("企业名称") End If \'“个体户”参考上面同样的方法查询取值拼到s变量里即可,这个留给自己试试 e.DataRow("案件名称") = s & e.DataRow("案由") End Select 至于窗口,没看到有设计的窗口,不知道窗口到底是怎么样的,所以无法说明 |
||||
-- 作者:大树孔 -- 发布时间:2020/2/25 22:59:00 -- [求助]跨表取值赋值问题 不知为何,复制您的代码,没反应。 |
||||
-- 作者:有点蓝 -- 发布时间:2020/2/25 23:06:00 -- 旧数据重置一下列: |
||||
-- 作者:大树孔 -- 发布时间:2020/2/25 23:37:00 -- [求助]跨表取值赋值问题 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2019.12.17.18 错误所在事件:表,企业,DataColChanged 详细错误信息: Exception has been thrown by the target of an invocation. Column \'公司名称\' does not belong to table 企业. 关联表增加行会出现这个错误,不知道如何优化好点儿。代码我是放父表的datacolchanged中的
|
||||
-- 作者:有点蓝 -- 发布时间:2020/2/26 8:45:00 -- 错误所在事件:表,企业,DataColChanged,给出具体代码 |