Foxtable(狐表)用户栏目专家坐堂 → [求助]根据附表筛选子表数据,怎么筛选


  共有4946人关注过本帖树形打印复制链接

主题:[求助]根据附表筛选子表数据,怎么筛选

帅哥哟,离线,有人找我吗?
wuxianzuoji41
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
[求助]根据附表筛选子表数据,怎么筛选  发帖心情 Post By:2013/12/24 11:11:00 [只看该作者]

current时间件里用下面2种方式,获得的结果不一样,谁帮我解决一下是哪个正确还是都不对

方式一、
If DataTables("crm_customer").DataRows.Count = 0 Then '如果baidu_client表没有数据
    DataTables("crm_customer_track").LoadFilter = "track_id Is Null" '不加载baidu_records
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("crm_customer").DataRows
        ids = ids & "," & dr("customer_id")
    Next
    ids= ids.Trim(",")
    DataTables("crm_customer_track").LoadFilter = "customer_id In (" & ids & ")"
End If
DataTables("crm_customer_track").Load()


Dim t_genjin As Table = Tables("窗口客户_tbl_Genjin")
With Tables("窗口客户_tblKehu")
    If .Current Is Nothing Then
        t_genjin.filter="false"     
    Else
        t_genjin.Filter = "customer_id = " & .Current("customer_id")    
     End If
End With


二、sql TABLE方式
Dim aa2 As String="Select* from crm_customer_track where customer_id= " & Tables("窗口客户_tblKehu").Current("customer_id")
Tables("窗口客户_tblCeshi").Fill(aa2,"c2",True)


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/24 11:13:00 [只看该作者]

http://www.foxtable.com/help/topics/2228.htm  参考帮助,你第一个方式就没错.

 回到顶部
帅哥哟,离线,有人找我吗?
wuxianzuoji41
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/12/24 11:17:00 [只看该作者]

以下是引用Bin在2013-12-24 11:13:00的发言:
http://www.foxtable.com/help/topics/2228.htm  参考帮助,你第一个方式就没错.

一、谢谢,找到问题了,2者结果一致,我的第一个方式可以吧数据调出来

但是在筛选的时候吧数据晒选掉了一部分

我这个地方错在哪里

Dim t_genjin As Table = Tables("窗口客户_tbl_Genjin")
With Tables("窗口客户_tblKehu")
    If .Current Is Nothing Then
        t_genjin.filter="false"     
    Else
        t_genjin.Filter = "customer_id = " & .Current("customer_id")    
     End If
End With

 

另外方式一和二哪个占用资源少,一方式编码有点麻烦比较多

[此贴子已经被作者于2013-12-24 11:22:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wuxianzuoji41
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/12/24 11:33:00 [只看该作者]

以下是引用wuxianzuoji41在2013-12-24 11:17:00的发言:

一、谢谢,找到问题了,2者结果一致,我的第一个方式可以吧数据调出来

但是在筛选的时候吧数据晒选掉了一部分

我这个地方错在哪里

Dim t_genjin As Table = Tables("窗口客户_tbl_Genjin")
With Tables("窗口客户_tblKehu")
    If .Current Is Nothing Then
        t_genjin.filter="false"     
    Else
        t_genjin.Filter = "customer_id = " & .Current("customer_id")    
     End If
End With

 

另外方式一和二哪个占用资源少,一方式编码有点麻烦比较多

[此贴子已经被作者于2013-12-24 11:22:03编辑过]

bin,帮我看一下到底在这个筛选错在哪里


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/24 11:36:00 [只看该作者]

如果ID是字符串列,需要加单引号

    t_genjin.Filter = "customer_id = '" & .Current("customer_id")   & "'"

 回到顶部
帅哥哟,离线,有人找我吗?
wuxianzuoji41
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/12/24 11:41:00 [只看该作者]

以下是引用Bin在2013-12-24 11:36:00的发言:
如果ID是字符串列,需要加单引号

    t_genjin.Filter = "customer_id = '" & .Current("customer_id")   & "'"

是整型

 

这个地方提取出来子表是10条

If DataTables("crm_customer").DataRows.Count = 0 Then '如果baidu_client表没有数据
    DataTables("crm_customer_track").LoadFilter = "track_id Is Null" '不加载baidu_records
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("crm_customer").DataRows
        ids = ids & "," & dr("customer_id")
    Next
    ids= ids.Trim(",")
    DataTables("crm_customer_track").LoadFilter = "customer_id In (" & ids & ")"
End If
DataTables("crm_customer_track").Load()

 

这个地方一筛选就变成2条
Dim t_genjin As Table = Tables("窗口客户_tbl_Genjin")
With Tables("窗口客户_tblKehu")
    If .Current Is Nothing Then
        t_genjin.filter="false"     
    Else
        t_genjin.Filter = "customer_id = " & .Current("customer_id")    
     End If
End With

[此贴子已经被作者于2013-12-24 11:42:30编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/24 11:44:00 [只看该作者]

你 下面的是筛选当前行的, 上面的是筛选所有父表行的, 能一样吗?

 回到顶部
帅哥,在线噢!
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/12/24 11:53:00 [只看该作者]

就是,第一段代码是筛选出父表所有行的子行,第二段代码是筛选出父表当前行的子行,肯定前者多得多嘛。

 回到顶部
帅哥哟,离线,有人找我吗?
wuxianzuoji41
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/12/24 11:55:00 [只看该作者]

以下是引用Bin在2013-12-24 11:44:00的发言:
你 下面的是筛选当前行的, 上面的是筛选所有父表行的, 能一样吗?

我选的父表就一行做测试。就是父表只有一条记录的情况下。当前行就是所有的父表

[此贴子已经被作者于2013-12-24 11:55:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/24 11:59:00 [只看该作者]

那就不会有问题,你是否没有把子表所有数据加载出来? 这样的话你筛选也不会全啊.

你上个例子看看你是怎么做的

 回到顶部
总数 12 1 2 下一页