以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  跨表查询  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=94912)

--  作者:lk15502
--  发布时间:2017/1/5 10:41:00
--  跨表查询
按钮:未入库缸号,代码,老师帮我看看下面的代码有什么问题,按下后没有反应
Dim kcbs As String = DataTables("成品入库表").SQLGetComboListString("缸号")
kcbs = "(\'" & kcbs.replace("|","\',\'") & "\')"
\'-------历遍染色生产表的缸号生成集合-------
Dim Ckbs As String = DataTables("计划配缸通知单").SQLGetComboListString("缸号","配缸 = 1 and 缸号 not in " & kcbs)
Ckbs = "(\'" & ckbs.replace("|","\',\'") & "\')"
DataTables(e.Form.Name & "_table9").LoadFilter = "缸号 in " & ckbs
DataTables(e.Form.Name & "_table9").Load

--  作者:有点色
--  发布时间:2017/1/5 10:42:00
--  

msgbox(kcbs)

msgbox(ckbs)

 

看看弹出什么,如果没有反应肯定是条件不正确。


--  作者:lk15502
--  发布时间:2017/1/5 11:00:00
--  
数据量很大,弹窗应该是对的,和数据量大有关系吗?入库表有5000个缸号,计划配缸通知单有近500个缸号?
--  作者:lk15502
--  发布时间:2017/1/5 11:07:00
--  
msgbox(ckbs)弹窗:(\' \')
--  作者:有点色
--  发布时间:2017/1/5 11:07:00
--  

那直接执行,看行不行

 

DataTables(e.Form.Name & "_table9").LoadFilter = "缸号 in (\'xxx\', \'yyyy\')"
DataTables(e.Form.Name & "_table9").Load
 
如果不行,说明你这个table9是sqlQuery查询表,查询表有可能不支持你直接load数据。

--  作者:lk15502
--  发布时间:2017/1/5 11:22:00
--  
把Not去掉,可以执行的有数据,但是not in应该有更多的数据弹窗销售是空,表肯定是sqltable
--  作者:lk15502
--  发布时间:2017/1/5 11:22:00
--  
显示
--  作者:有点色
--  发布时间:2017/1/5 12:07:00
--  
5楼代码,如果执行没问题,那么,只要你条件正确,就肯定能正常执行。
--  作者:lk15502
--  发布时间:2017/1/5 13:55:00
--  
我手工比对了。有100多个缸号不在成品入库表,去掉not可以正常运行,加上not,一个缸号也不弹窗显示了?
--  作者:lk15502
--  发布时间:2017/1/5 14:01:00
--  
成品入库表有近5000个缸号;计划配缸通知单有333个:配缸 = 1 的缸号;其中201个在成品入库表;上面的代码应该显示132个缸号,可是一个也没有?