Foxtable(狐表)用户栏目专家坐堂 → 查询按钮出错


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

主题:查询按钮出错

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
查询按钮出错  发帖心情 Post By:2012/7/23 11:05:00 [显示全部帖子]

我在一个窗口上设了三个控件,ComboBox2,设了代码项:客户名称,地址,电话,等TextBox1,和一个“查询”按钮 在查询按钮上设置了如下代码:

Dim Filter2 As String

Dim tx As String= Forms("客户查询").Controls("ComboBox2")
With e.Form.Controls("TextBox1")
If .value IsNot Nothing Then
      Filter2="tx  Like '*" & .Value & "*'"
    End If
End With
If Filter2> "" Then
    Tables("客户查询_Table1").Filter = Filter2
End If

 

想达到目的,选择客户名称时,在文本框中输入名称支持模糊查询,选地址时,在文本框中输入文本时可以查地址,但实际执行时出错,如图,


图片点击可在新窗口打开查看此主题相关图片如下:客户查询出错.jpg
图片点击可在新窗口打开查看

请问是什么原因?感觉是定义变量出错了,但试了几下都不行,请指点一下,谢谢!


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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2012/7/24 10:39:00 [显示全部帖子]

      谢谢!狐爸:你可能没明白我的意思,我是要在ComboBox2 下拉出客户名称时:在TextBox1 输入字符筛选出符合条件的记录,当下拉列表项是 地址时,在TextBox1 输入字符筛选出符合条件的记录,而我的代码中的tx 实际就是控件ComboBox2的列表项值,同时到了like语句中用tx代表列,我也知道不对,便就是找不出原因。我现在改了代码:

Dim Filter2 As String
Dim colname As String=Forms("客户查询").Controls("ComboBox2").text
Dim txt As String = e.Form.Controls("TextBox1").Text
txt = "'*" & txt & "*'"
With e.Form.Controls("TextBox1")
 If .value IsNot Nothing Then
      Filter2="客户名称 Like " & txt & "  Or 地址 Like " & txt & "  Or 

主联系人 Like " & txt & "  Or 办公电话 Like " & txt & " Or 手机 Like "

& txt
 End If
End With
  If  Filter2> "" Then
     Tables("客户查询_Table1").Filter = Filter2
  Else
     Tables("客户查询_Table1").Filter = ""
End If

 

 

虽然能查,但实际还是没达到我想要的那种效果。请指点一下。


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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2012/7/24 10:41:00 [显示全部帖子]

以上方法能查,但并没有缩小查的范围,当我选择客户名称时,在文本框中输入 XXx客户时能查到,当我选择“地址“时,在文本框中输入XXx客户也可以查到,这样就没达到效果了。

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2012/7/24 13:45:00 [显示全部帖子]

谢谢!狐爸:还是不行,我把图截上来,你看一下,我觉得应该是我的表达你没清楚。你看图应该明白我想达到的功能
图片点击可在新窗口打开查看此主题相关图片如下:客户查询出错2.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2012/7/24 20:05:00 [显示全部帖子]

谢谢!还是不对,我再说一下我的目的,当在控件ComboBox2中选择了“客户名称”时,在TextBox1 中输入 如 上海 就可以过滤出 上海XXX的公司,当在控件ComboBox2中选择了“地址”时,在TextBox1 中输入 如 松江 就可以过滤出 松江XXX的地址,我自己试了一下另的思路,还是不行,贴上来看一下。

Dim Filter2 As String
Dim colname As String=Forms("客户查询").Controls("ComboBox2").value
Dim txt As String = e.Form.Controls("TextBox1").text
txt = "'*" & txt & "*'"
With e.Form.Controls("TextBox1")
 
Select Case colname
  Case "客户名称"
         Tables("客户查询_Table1").Filter ="客户名称" Like  txt
  Case "地址"
         Tables("客户查询_Table1").Filter ="地址" Like  txt
  Case "主联系人"
         Tables("客户查询_Table1").Filter ="主联系人" Like  txt
  Case Else
        Tables("客户查询_Table1").Filter = ""
  End  Select

End With

 

请问有谁知道方法?请说明一下。


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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2012/7/25 15:26:00 [显示全部帖子]

   感谢天感谢地!终于实现这个功能了,感谢所有支持这本贴的人员,我也在这个过程中学习了不少,感觉自己还是看帮助文件基本功扎得不好,谢谢!


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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2012/7/25 15:33:00 [显示全部帖子]

特别感谢!blackzhu 他对于贴出来的代码还加了注释这点让我非常感谢!谢谢!

 回到顶部