设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2714|回复: 6
打印 上一主题 下一主题

[Access本身] 请教组合框模糊查询数据,如何先指定一个固定条件,然后再根据第二个条件继续模糊查询

[复制链接]
跳转到指定楼层
1#
发表于 2013-7-3 13:41:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 5574916 于 2013-7-3 17:16 编辑

请教一下大家,我想在组合框中模糊筛选数据

想要实现的效果是: 先过滤出组合框中 类别=A 的数据,然后再根据 组合框中输入的内容,进一步模糊筛选出 test产品 这一列的数据。

问题:我试了下用第一种方法,在组合框中输入test,筛选出的数据并没有 先过滤 类别=A,而是包含test的所有数据?

然后我试了第二种方法可以实现,但是要先建立一个查询,筛选出类别=A 然后再结合第一种方法。

现在我想能不能只是用代码就可以实现和第二种方法一样的效果,而不用先建立一个查询?? 可以的话,请问代码要怎么改呢?



1、第一个组合框 对应 第一种方法(筛选出的数据并没有 先过滤 类别=A,而是包含test的所有数据?

  1. <P>Private Sub 产品筛选_Change()
  2. Dim strSql As String
  3. Dim mstrFilter As String</P>
  4. <P>
  5. mstrFilter = "助记码 like '*" & Me.产品筛选.Text & "*' or 产品名称 like '*" & Me.产品筛选.Text & "*' or 品牌 like '*" & Me.产品筛选.Text & "*' and 产品类别 = 'A'"
  6. strSql = "SELECT 产品信息表.助记码, 产品信息表.产品名称,产品信息表.品牌, 产品信息表.产品类别 FROM 产品信息表 Where " & mstrFilter & ""

  7. Me.产品筛选.RowSource = strSql
  8. Me.产品筛选.Dropdown
  9. End Sub</P>
复制代码
2、第二个组合框 对应 第二种方法(可以实现效果,但是需要另外建立查询1


  1. 查询1:
  2. SELECT 产品信息表.助记码, 产品信息表.产品名称, 产品信息表.品牌, 产品信息表.产品类别
  3. FROM 产品信息表
  4. WHERE (((产品信息表.产品类别)="A")


  5. Private Sub 产品筛选2_Change()
  6. Dim strSql As String
  7. Dim mstrFilter As String

  8. mstrFilter = "助记码 like '*" & Me.产品筛选2.Text & "*' or 产品名称 like '*" & Me.产品筛选2.Text & "*' or 品牌 like '*" & Me.产品筛选2.Text & "*'"
  9. strSql = "SELECT * from 查询1 Where " & mstrFilter & ""

  10. Me.产品筛选2.RowSource = strSql
  11. Me.产品筛选2.Dropdown
  12. End Sub
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-7-3 16:30:23 | 只看该作者
搜索“组合框 联动”,应该有答案。
3#
发表于 2013-7-3 16:32:48 | 只看该作者
很简单嘛。用某个分隔符分隔输入的两个字符,在事件中获取组合框的Text,然后用Split函数分解之。得到这两个字符串后构造sql语句的where子句即可。
4#
 楼主| 发表于 2013-7-3 17:04:34 | 只看该作者
todaynew 发表于 2013-7-3 16:32
很简单嘛。用某个分隔符分隔输入的两个字符,在事件中获取组合框的Text,然后用Split函数分解之。得到这两 ...

Split函数 这个我不熟悉哦,具体不知道要怎么改才好,例子我已经上传了,可以抽空帮忙改下吗? 改好后我才好好研究研究,先谢谢了!
5#
 楼主| 发表于 2013-7-3 17:08:50 | 只看该作者
本帖最后由 5574916 于 2013-7-3 23:28 编辑
aslxt 发表于 2013-7-3 16:30
搜索“组合框 联动”,应该有答案。


好的,我搜搜看,谢谢提醒!

组合联动 看了些例子,结合模糊查询,还是没有头绪{:soso_e101:} 本人对sql的一些用法还不是很熟悉。希望知道的大侠帮忙修改下例子文件,谢谢!

点击这里给我发消息

6#
发表于 2013-7-4 10:50:32 | 只看该作者
本帖最后由 鱼儿游游 于 2013-7-4 11:30 编辑

楼主,是下面的效果吗?注意:SQL语句的写法。

  1. Private Sub 产品筛选_Change()
  2. Dim strSql As String
  3. Dim mstrFilter As String

  4.    mstrFilter = "助记码 like '*" & Me.产品筛选.Text & "*' or 产品名称 like '*" & Me.产品筛选.Text & "*' or 品牌 like '*" & Me.产品筛选.Text & "*'"
  5.    mstrFilter = "(" & mstrFilter & ") and 产品类别 = 'A'"
  6.    strSql = "SELECT 产品信息表.助记码, 产品信息表.产品名称,产品信息表.品牌, 产品信息表.产品类别 FROM 产品信息表 Where " & mstrFilter & ""

  7.     Me.产品筛选.RowSource = strSql

  8.     Me.产品筛选.Dropdown

  9. End Sub
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
 楼主| 发表于 2013-7-4 13:20:00 | 只看该作者
鱼儿游游 发表于 2013-7-4 10:50
楼主,是下面的效果吗?注意:SQL语句的写法。

是的,就是这种效果!我以后会多注意的, 谢谢鱼儿!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-19 18:41 , Processed in 0.084238 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表