Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-窗体/数据页

【access小品】就地正法---组合框自筛选示例

时 间:2010-10-22 12:46:15
作 者:todaynew   ID:10802  城市:武汉
摘 要:组合框自筛选示例
正 文:

  我们习惯上常用几个组合框构成联级筛选,联级筛选的基本原理就是用其他组合框的控件值,来改变需要筛选的组合框行来源的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

 



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助