以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  A表如何调用B表中一列判断后的值显示到A表?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=72316)

--  作者:lichinwing
--  发布时间:2015/7/28 10:30:00
--  A表如何调用B表中一列判断后的值显示到A表?

A表有“款号”

B表有“款号(多值字段)”和“编号”

我要判断B表的款号和A表对应的款号匹配后,把B表的“编号”项目在A表中显示出来。

请问大家要如何写代码?谢谢!


--  作者:大红袍
--  发布时间:2015/7/28 10:35:00
--  

DataColChanged事件

 

If e.DataCol.Name = "款号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("编号") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("表B").Find("[款号] like \'%" & e.NewValue & "%\'")
        e.DataRow("编号") = dr("编号")
    End If
End If


--  作者:lichinwing
--  发布时间:2015/7/28 12:29:00
--  

刚才尝试把上述代码放到A表的"表属性"里的DataColChanged事件里了,可是还是不能在A表里显示出B表的数据,请问要怎么调整呀?我A表里有一列是“布料”,我要把B表里判断后选择出来的“编号”列在A表的“布料”列里显示出来,还望多多指教,谢谢!

 

A表:                                       B表:

          款号     布料    里布                      款号      编号

1行:     1      CC1    CC3           1行:    1,2       CC1

2行:     2      CC1    CC2           2行:    2,3       CC2

3行:     3      CC2    CC3           3行:    1,3       CC3

 

第一次找到1放到”布料“里,第二次找到1放到”里布“里, 就是我需要蓝色的部分自动填充到A表里,请大家帮忙,再次万分感谢!


--  作者:大红袍
--  发布时间:2015/7/28 14:25:00
--  

代码,没有问题啊

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5.table


--  作者:lichinwing
--  发布时间:2015/7/29 14:30:00
--  

大侠,请再帮忙看看,我打开了你的管理项目,添加第四行的内容,但是在布料里并不会自动显示编号的内容呀?请看看我附上的图,我希望蓝色的部分要自动在A表里显示出来。请问要怎么处理呀?

图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2015/7/29 14:32:00
--  

你在表A填入款号后,才会带出布料啊


--  作者:lichinwing
--  发布时间:2015/7/29 17:48:00
--  
试过了,不行,大侠,还望多多帮忙研究下,你也可以试试,你在下面加几行,第四行,第五行,布料那一栏都显不出来呀,我还需要在A表里加个“里布”列,然后这两列都希望能自动判断后显示出来,其实我的数据表已经做好了,有很多字段了,重要的是这两列要在A表里自动显示出来,我试了很多办法都不会自动显示,真是很头大,不知道如何是好了。如果你在A表和B表输入了“款号”,“编号”这些项目,就是在A表的“布料”里显不出来呀,急死人了。
--  作者:大红袍
--  发布时间:2015/7/29 17:50:00
--  
 4楼例子没有问题。有问题,请上传你的项目。
--  作者:lichinwing
--  发布时间:2015/7/30 11:05:00
--  

我上传了我的项目,请大家帮忙看看,现在里面的“编号”值都是手动输进去的,请大家看看如何可以自动出来,而且我建立的数据库里面,“款号”和“编号”都已经输入好了,难道非要将表A的款号删掉再全部写过才能把“布料”的值带出来吗?第一次查找和第二次查找能放到不同的列里面吗?还望大家帮忙多多指教,谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.table

[此贴子已经被作者于2015/7/30 11:10:28编辑过]

--  作者:有点蓝
--  发布时间:2015/7/30 11:25:00
--  
现在的代码不变,再在MainTableChanged中加入
If MainTable.Name = "表A"  Then
  DataTables("表A").DataCols("款号").RaiseDataColChanged()
End If