Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
[求助]  发帖心情 Post By:2017/12/1 13:03:00 [只看该作者]

老师您好!
我想做一个业绩筛选,在窗口有一个CheckedComboBox控件可以多值和一个筛选按钮,不知道对于CheckedComboBox控件多值筛选代码怎么写?请老师指教。谢谢!
这个单值可以筛选,如下图:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20171201125538.jpg
图片点击可在新窗口打开查看

但是二个以上的多选就不行了,如下图:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20171201125527.jpg
图片点击可在新窗口打开查看

按钮代码:
Dim Filter As String
With e.Form.Controls("CheckedComboBox2")
    If .Value IsNot Nothing Then
        Filter = "所属省份 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("TextBox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "施工区域 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("NumericComboBox1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "实际造价 >= '" & .Value & "'"
    End If
End With
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "开工日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "竣工日期 <= #" & .Value & "#"
    End If
End With

If Filter > "" Then
    Tables("工程合同基础数据").Filter = Filter
End If
Dim lbl As WinForm.Label
lbl = e.Form.Controls("Label5")
lbl.Text = "符合条件工程数:" & Tables("工程合同基础数据").Rows.Count & "个"

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


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/12/1 13:10:00 [只看该作者]

另外如果“工程地省份”为多选,那么“工程地区域”自动为灰色不给录入。怎么样实现?谢谢!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/1 15:20:00 [只看该作者]

With e.Form.Controls("CheckedComboBox2")
    If .Value IsNot Nothing Then
        Filter = "所属省份 = '" & .Value & "'"
    End If
End With

 

改成

 

With e.Form.Controls("CheckedComboBox2")
    If .Value IsNot Nothing Then
        Filter = "所属省份 in ('" & .Value.Replace(",", "','") & "')"
    End If
End With

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/1 15:23:00 [只看该作者]

以下是引用沪上游客在2017/12/1 13:10:00的发言:
另外如果“工程地省份”为多选,那么“工程地区域”自动为灰色不给录入。怎么样实现?谢谢!

 

[工程地省份] 按钮,TextChanged事件

 

If e.sender.Text.contains(",") Then

    e.form.controls("工程地区域").Enabled = False

Else

    e.form.controls("工程地区域").Enabled = true

End If


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


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/12/1 21:18:00 [只看该作者]

谢谢老师,已解决!

 回到顶部