Foxtable(狐表)用户栏目专家坐堂 → 多字段查询


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

主题:多字段查询

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


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

参考

 

http://www.foxtable.com/webhelp/scr/1058.htm

 

比如

 

Filter = Filter & "客户 = '" & .Value & "'"

 

改成

 

Dim str As String = "1=2"

For Each s As String in .Value.split(",")

    str &= " or 客户 = '" & s & "'"

Next

Filter = Filter & " (" & str & ") "

[此贴子已经被作者于2018/6/5 16:34:10编辑过]

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


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

为了组合字符串,最终合成如

 

1=2 or 第一列='123' or 第一列='abc'

 

这样就不需要处理最前面一个or,当然你删掉1=2也行,同时要删除or


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


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

最后msgbox(str)弹出什么?

 

或者,你做一个实例发上来测试。


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


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

改成

 

With e.Form.Controls("DropBox1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Dim str As String = "5=2"
        For Each s As String In .Value.split(",")
            str &= " or 故障原因 like '%" & s & "%'"    
        Next
        Filter = Filter & " (" & str & ") "

    End If
End With

[此贴子已经被作者于2018/6/5 16:33:48编辑过]

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


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

或者

 

改成

 

With e.Form.Controls("DropBox1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Dim str As String = "1=1"
        For Each s As String In .Value.split(",")
            str &= " and 故障原因 like '%" & s & "%'"    
        Next
        Filter = Filter & " (" & str & ") "

    End If
End With

[此贴子已经被作者于2018/6/5 16:33:22编辑过]

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


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

1、自带的数据库,可以在局域网里用(设置共享文件夹,把项目放在里面,大家都打开这个项目);

 

2、建立弄成access或者sqlserver数据库;其中,sqlserver可以在互联网中使用;

 

3、建议把【网络与数据源】一章,看完 http://www.foxtable.com/webhelp/scr/1420.htm

 


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


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

Dim Filter As String
With e.Form.Controls("型号")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Dim str As String = "1=2"
        For Each s As String In .Value.split(",")
            str &= " or 型号 like '%" & s & "%'"
        Next
        Filter = Filter & " (" & str & ") "
    End If
End With
With e.Form.Controls("规格1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Dim str As String = "1=2"
        For Each s As String In .Value.split(",")
            str &= " or 规格 like '%" & s & "%'"
        Next
        Filter = Filter & " (" & str & ") "
    End If
End With
If Filter > "" Then
    Tables("表A").Filter = Filter
End If

With e.Form.Controls("规格1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Dim str As String = "1=1"
        For Each s As String In .Value.split(",")
            str &= " and 规格 like '%" & s & "%'"
        Next
        Filter = Filter & " (" & str & ") "
    End If
End With


 回到顶部