设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4962|回复: 13
打印 上一主题 下一主题

[窗体] 【Access小品】就地正法---组合框自筛选示例

[复制链接]
跳转到指定楼层
1#
发表于 2010-10-22 12:41:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 todaynew 于 2010-10-22 14:22 编辑

  我们习惯上常用几个组合框构成联级筛选,联级筛选的基本原理就是用其他组合框的控件值,来改变需要筛选的组合框行来源的SQL语句。从这个原理出发,只要我们能获得本组合框输入的数据,那么就可以利用这些数据对组合框进行自筛选。
  要达成这样一个自筛选的效果,需要用到的是组合框的【不在列表中】事件,在这个事件中有两个参数其一名曰NewData,其二名曰 Response 。其中NewData就是输入时不在列表中的那个值,我们便可以用这个值来构造Where子句。这样我们就可以不拖出去枪毙,就地正法即可了。






Private Sub Form_Load()
Dim ssql As String
ssql = "SELECT cpk.产品编号, '名称:' & [产品名称及规格] & ' 颜色:' & [颜色] & ' 单位:' & [单位] AS 品名 FROM cpk"
Me.产品编号.RowSource = ssql
End Sub

Private Sub 产品编号_AfterUpdate()
Dim ssql As String
ssql = "SELECT cpk.产品编号, '名称:' & [产品名称及规格] & ' 颜色:' & [颜色] & ' 单位:' & [单位] AS 品名 FROM cpk"
Me.产品编号.RowSource = ssql
Me.进货数量.SetFocus
End Sub

Private Sub 产品编号_NotInList(NewData As String, Response As Integer)
Dim ssql As String
Dim WH As String
Response = acDataErrContinue
ssql = "SELECT cpk.产品编号, '名称:' & [产品名称及规格] & ' 颜色:' & [颜色] & ' 单位:' & [单位] AS 品名 FROM cpk"
WH = " Where instr([产品名称及规格] & [颜色] & [单位],'" & NewData & "')>0"
Me.产品编号.RowSource = ssql & WH
If Me.产品编号.ListCount = 1 Then
    Me.产品编号.Value = Me.产品编号.Column(0, 0)
    ssql = "SELECT cpk.产品编号, '名称:' & [产品名称及规格] & ' 颜色:' & [颜色] & ' 单位:' & [单位] AS 品名 FROM cpk"
    Me.产品编号.RowSource = ssql
    Me.进货数量.SetFocus
Else
    Me.产品编号.Dropdown
End If
End Sub

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-10-22 22:31:01 | 只看该作者
很好的思路,原来我也是一直为筛选条件烦恼。谢谢todaynew 提供分享!
3#
发表于 2010-10-22 15:18:00 | 只看该作者
对字段值不多的情况是个好办法!
4#
发表于 2010-10-26 19:22:31 | 只看该作者
谢谢分享!
5#
发表于 2010-10-26 16:20:02 | 只看该作者
非常好的思路,高手呀!!!!!!!!!!!1
6#
发表于 2012-1-10 15:12:13 | 只看该作者
谢谢分享!
7#
发表于 2012-1-15 09:55:53 | 只看该作者
多谢,学习了。
8#
发表于 2012-1-15 10:02:45 | 只看该作者
精华要汲取{:soso_e181:}
9#
发表于 2015-5-25 20:24:21 | 只看该作者
很好的思路
10#
发表于 2015-7-14 16:22:04 | 只看该作者
学习学习学习学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-23 12:12 , Processed in 0.189748 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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