Foxtable(狐表)用户栏目专家坐堂 → [求助]筛选代码不能正常工作


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

主题:[求助]筛选代码不能正常工作

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/2 14:40:00 [显示全部帖子]

 这个代码,不可能无效

 

If filter >"" Then
    Tables("入库主表").Filter = filter
End If

 

 要实现什么,自己上传例子吧。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/2 15:27:00 [显示全部帖子]

Dim sx As String = "1=1"
Dim sjsx As String = "1=1"
With e.Form.Controls("3ssk1")
    If .Value IsNot Nothing Then
        sx &= " and 物料名称 = '" & .Value & "'"
    End If
End With

With e.Form.Controls("3ssk2")
    If .Value IsNot Nothing Then
        sx &= " and 型号规格 = '" & .Value & "'"
    End If
End With

With e.Form.Controls("3dt1")  ''开始时间
    If .Value IsNot Nothing Then
        sjsx &= " and 购进日期 >= #" & .Value & "#"
    End If
End With

With e.Form.Controls("3dt2")  ''结束时间
    If .Value IsNot Nothing Then
        sjsx &= " and 购进日期 <= #" & .Value & "#"
    End If
End With

Tables("单据查询_3tb1").Filter = sjsx
Dim str As String = DataTables("入库明细表").GetComboListString("购进单据号", sjsx).Replace("|", "','")
Tables("单据查询_3tb2").Filter = sx & " and 购进单据号 in ('" & str & "')"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/2 15:47:00 [显示全部帖子]

1=1没有意义,只是为了连接后面 and

 

Dim str As String = DataTables("入库明细表").GetComboListString("购进单据号", sjsx).Replace("|", "','")
Tables("单据查询_3tb2").Filter = sx & " and 购进单据号 in ('" & str & "')"

 

 这两句代码,是为了筛选子表数据


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/2 16:25:00 [显示全部帖子]

 5楼的代码,已经是最后的代码了,自己看效果。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/2 16:32:00 [显示全部帖子]

改一下

 

Dim sx As String = "1=1"
Dim sjsx As String = "1=1"
With e.Form.Controls("3ssk1")
    If .Value IsNot Nothing Then
        sx &= " and 物料名称 = '" & .Value & "'"
    End If
End With

With e.Form.Controls("3ssk2")
    If .Value IsNot Nothing Then
        sx &= " and 型号规格 = '" & .Value & "'"
    End If
End With

With e.Form.Controls("3dt1")  ''开始时间
    If .Value IsNot Nothing Then
        sjsx &= " and 购进日期 >= #" & .Value & "#"
    End If
End With

With e.Form.Controls("3dt2")  ''结束时间
    If .Value IsNot Nothing Then
        sjsx &= " and 购进日期 <= #" & .Value & "#"
    End If
End With

Tables("单据查询_3tb1").Filter = sjsx
Dim str As String = DataTables("入库主表").GetComboListString("购进单据号", sjsx).Replace("|", "','")
Tables("单据查询_3tb2").Filter = sx & " and 购进单据号 in ('" & str & "')"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/2 16:43:00 [显示全部帖子]

 11楼,原来代码写错了

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/2 17:06:00 [显示全部帖子]

http://www.foxtable.com/help/topics/0221.htm

 

等同于 sx = sx & "xxx"


 回到顶部