Foxtable(狐表)用户栏目专家坐堂 → [求助]有点甜老师,有关查询条件


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

主题:[求助]有点甜老师,有关查询条件

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


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

1、贴出完整代码说明问题。

 

2、说明现在报什么错。


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


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

用这个代码绝对没问题

 

Dim Filter As String = "1=1"

With e.Form.Controls("combobox1")
    If .Value <> Nothing Then
        Filter = Filter & " and kl = '" & .Value & "'"
    End If
End With

With e.Form.Controls("CheckedComboBox1")
    If .Value <> Nothing Then
        Filter &= " and nd in ('" & .Value.replace(",", "','") & "')"
    End If
End With

With e.Form.Controls("CheckedComboBox2")
    If .Value <> Nothing Then
        Filter &= " and yxdq in ('" & .Value.replace(",", "','") & "')"
    End If
End With


With e.Form.Controls("combobox2")
    If .Value <> Nothing Then        
        Filter = Filter & " and lqpc like  '%" & .Value &   "%'"
    End If
End With

msgbox(filter)
Tables("信息查询表").Filter = Filter


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


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

不可能。请直接用6楼代码。

 

如果还是有问题,msgbox(filter)看弹出什么。


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


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

在代码最后,加入msgbox(filter)弹出什么?

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


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

在代码最后,加入msgbox(filter)弹出什么?

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


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

在代码最后,加入msgbox(filter),执行后弹出什么?

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


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

Filter = "kssj In ('" & .Value.Replace(",", "','") & "')"

 

改成

 

Filter = filter & " and kssj In ('" & .Value.Replace(",", "','") & "')"


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


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

不需要加上的,改成这样

 

 

Dim Filter As String = "1=1"

With e.Form.Controls("CheckedComboBox1")

    If .Value <> Nothing Then

        Filter &= " and 考试时间 in ('" & .Value.replace(",", "','") & "')"

    End If

End With

 

With e.Form.Controls("CheckedComboBox2")

    If .Value <> Nothing Then

        Filter &= " and 班级 in ('" & .Value.replace(",", "','") & "')"

    End If

End With

 

Tables("信息查询表").Filter = Filter

msgbox(filter)


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


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

以下是引用tygzjsl在2019/1/3 9:37:00的发言:
如果按六楼写代码的话,一样可以多个复选框一起使用,而且不用加上msgbox(filter)
这样改代码有什么好处么,还是通用性更好!谢谢老师!

 

msgbox是弹出信息查看的啊。你可以删除啊。


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


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

相同,差别不大。

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