以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于B表条件在A表筛选的问题,代码该怎么写。。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=60569)

--  作者:nclo
--  发布时间:2014/11/27 9:49:00
--  关于B表条件在A表筛选的问题,代码该怎么写。。
首先感谢甜老师等大神一直以来无私的帮助,条件如下:外部表,开发版。现在遇到一个筛选的问题。

现有表A是客户表,假设里面有100个客户,每个客户有唯一的编号。表A,表B以编号关联。表B是客户购买表,假设里面有A,B,C三个客户分别于2012年1月1日,2013年1月1日,2014年1月1日有一笔购买记录。

现在做了一个窗口,做了起止时间timepicker,做了筛选按钮,想实现的功能为:假设设置起止时间为2012年1月1日-2013年12月31日。那么datatable表A只加载除了AB以外的所有客户,之前看了查询表和QueryBuilder等帮助,都一头雾水,不知道怎么写代码锕。。。求大神帮助,不是又来当伸手党,实在是没办法了又来请大神指点。。。感谢

--  作者:有点甜
--  发布时间:2014/11/27 9:53:00
--  

代码大致这样写

 

Dim filter As String = "时间条件"

DataTables("表A").LoadFilter = "编号 in (select 编号 from {表B} where " & filter & ")"
DataTables("表A").Load


--  作者:Bin
--  发布时间:2014/11/27 9:55:00
--  
..
[此贴子已经被作者于2014-11-27 9:55:14编辑过]

--  作者:nclo
--  发布时间:2014/11/27 10:04:00
--  

代码大致这样写

 

Dim filter As String = "时间条件"

DataTables("表A").LoadFilter = "编号 in (select 编号 from {表B} where " & filter & ")"
DataTables("表A").Load



请问甜老师。Dim filter As String = "时间条件",时间条件是指的表B的时间列还是窗口的timepicker?


另外这个代码感觉就是只加载AB了,我是想实现的是除了AB都加载,就是把符合条件的筛选出来,然后不加载。只加载不符合条件的。


--  作者:有点甜
--  发布时间:2014/11/27 10:06:00
--  
 

Dim filter As String = "购买时间 >= #" &  & "# and 购买时间 <= #" &  & "#"

DataTables("表A").LoadFilter = "编号 not in (select 编号 from {表B} where " & filter & ")"
DataTables("表A").Load


--  作者:nclo
--  发布时间:2014/11/27 10:45:00
--  
感谢甜老师!