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


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

主题:多条件查询

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


加好友 发短信
等级:小狐 帖子:349 积分:4094 威望:0 精华:0 注册:2018/4/6 18:02:00
多条件查询  发帖心情 Post By:2018/4/6 23:23:00 [只看该作者]

各位大师:想在窗口中设置4个控件,textbox1-textbox4.和一个绑定的副表,当在TEXTBOX1中输入完毕后自动查找并显示在窗口副表中,在TEXTBOX2中输入完毕后自动加上TEXTBOX1的条件进行筛选并显示在窗口的副表中,一直到TEXTBOX4输入并查找完毕,每个TEXTBOX的LEAVE代码怎么写,请指教.


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


加好友 发短信
等级:幼狐 帖子:124 积分:963 威望:0 精华:0 注册:2015/1/20 15:14:00
  发帖心情 Post By:2018/4/7 0:29:00 [只看该作者]

Dim Filter As String
With e.Form.Controls("品名")
    If .Value IsNot Nothing Then
        Filter = Filter &   "品名 like '%" & .Value &   "%'"
    End If
End With
With e.Form.Controls("生产厂家")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
         Filter = Filter &   "生产厂家 like '%" & .Value &   "%'"
    End If
End With
With e.Form.Controls("规格")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If 
         Filter = Filter &   "规格 like '%" & .Value &   "%'"
    End If
End With
With e.Form.Controls("备注")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If 
         Filter = Filter &   "备注 like '%" & .Value &   "%'"
    End If
End With

If Filter > "" Then
    Tables("表A").Filter = Filter
End If

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


加好友 发短信
等级:小狐 帖子:349 积分:4094 威望:0 精华:0 注册:2018/4/6 18:02:00
  发帖心情 Post By:2018/4/7 1:28:00 [只看该作者]

谢谢!查询问题已解决,但这结果在表上,窗口绑定的副表不显示查询结果。继续求助


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


加好友 发短信
等级:小狐 帖子:349 积分:4094 威望:0 精华:0 注册:2018/4/6 18:02:00
  发帖心情 Post By:2018/4/7 1:37:00 [只看该作者]

Dim tbl As Table = Tables("窗口6_Table1")
Dim Filter   As   String
 With e.Form.Controls("TextBox1")
       If .Value   IsNot   Nothing  Then
         tbl.Filter =   "年度 = '" & .Value &   "'"
       End   If
 End   With
 With e.Form.Controls("TextBox2")
       If .Value   IsNot   Nothing   Then
           If tbl.Filter > ""   Then
             tbl.Filter = Filter &   " And "
           End   If
         tbl.Filter = Filter &   "月份 = '" & .Value &   "'"
       End   If
 End   With
 With e.Form.Controls("TextBox3")
       If .Value   IsNot   Nothing   Then
           If tbl.Filter >""   Then
             tbl.Filter = Filter &   " And "
           End   If
         tbl.Filter = Filter &   "日期 = '" & .Value &   "'"
       End   If
 End   With
With e.Form.Controls("ComboBox1")
       If .Value   IsNot   Nothing   Then
           If tbl.Filter >""   Then
             tbl.Filter = Filter &   " And "
           End   If
         tbl.Filter = Filter &   "检验区分= '" & .Value &   "'"
       End   If
 End   With
With e.Form.Controls("ComboBox2")
       If .Value   IsNot   Nothing   Then
           If tbl.Filter >""   Then
             tbl.Filter = Filter &   " And "
           End   If
         tbl.Filter = Filter &   "班组长= '" & .Value &   "'"
       End   If
 End   With
 If   tbl.Filter >   "" Then
     Tables("制造质量管理").Filter =   Filter
 End If

 

代码改成这样,可以在窗口绑定的副表中显示单个的查询结果,有两个条件输入时,便提示语法错误:语法错误:“And”运算符前缺少操作数。

请高手指点!


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


加好友 发短信
等级:狐精 帖子:3205 积分:21311 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2018/4/7 7:12:00 [只看该作者]

2楼代码没问题的

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


加好友 发短信
等级:超级版主 帖子:110629 积分:563047 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/4/7 9:42:00 [只看该作者]

Dim tbl As Table = Tables("窗口6_Table1")
Dim Filter   As   String
 With e.Form.Controls("TextBox1")
       If .Value   IsNot   Nothing  Then
           If Filter  > ""   Then
             Filter = Filter &   " And "
           End   If
         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
……

If   Filter >   "" Then
    tbl.Filter =   Filter
     Tables("制造质量管理").Filter =   Filter
 End If
[此贴子已经被作者于2018/4/7 9:43:43编辑过]

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


加好友 发短信
等级:小狐 帖子:349 积分:4094 威望:0 精华:0 注册:2018/4/6 18:02:00
  发帖心情 Post By:2018/4/7 11:01:00 [只看该作者]

Dim tbl As Table = Tables("窗口6_Table1")
Dim Filter   As   String
 With e.Form.Controls("TextBox1")
       If .Value   IsNot   Nothing  Then
           If Filter  > ""   Then
             Filter = Filter &   " And "
           End   If
         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("TextBox3")
       If .Value   IsNot   Nothing   Then
           If Filter  > ""   Then
             Filter  = Filter &   " And "
           End   If
         Filter = Filter &   "日期 = '" & .Value &   "'"
       End   If
 End   With
 With e.Form.Controls("ComboBox1")
       If .Value   IsNot   Nothing   Then
           If Filter  > ""   Then
             Filter  = Filter &   " And "
           End   If
         Filter = Filter &   "检验区分 = '" & .Value &   "'"
       End   If
 End   With
 With e.Form.Controls("ComboBox1")
       If .Value   IsNot   Nothing   Then
           If Filter  > ""   Then
             Filter  = Filter &   " And "
           End   If
         Filter = Filter &   "班组长 = '" & .Value &   "'"
       End   If
 End   With
If   Filter >   "" Then
    tbl.Filter =   Filter
     Tables("制造质量管理").Filter =   Filter
 End If

谢谢,按照楼上的改完,达到预想,但是我加了两行命令,筛选检验区分及班组长条件时,系统不报错,但是无筛选数据。检验区分及班组长是字符型的,请老师指教!


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


加好友 发短信
等级:小狐 帖子:349 积分:4094 威望:0 精华:0 注册:2018/4/6 18:02:00
  发帖心情 Post By:2018/4/7 11:18:00 [只看该作者]


图片点击可在新窗口打开查看找到了,原来复制时把复选框名字忘记改了!

 回到顶部