[原创]多选组合框及动态查询-trynew
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 源码示例


[原创]多选组合框及动态查询

发表时间:2009/8/7 8:54:11 评论(7) 浏览(15754)  评论 | 加入收藏 | 复制
   
摘 要:多选组合框及动态查询
正 文:

在公共模块中建立函数
Public Function MultComb()
'本函数可放在窗体的组合框的更改事件属性中或在事件过程中调用
'本函数利用Screen.ActiveControl对象及对象的tag属性扩大其通用性,如有冲突,也可利用公共变量代替
Dim i As Integer, strList As String
    With Screen.ActiveControl
        '用";"作分隔符提取组合框选项列表,此项功能也可应用在其它判断是否在列表中的例程中
        For i = 0 To .ListCount
            strList = IIf(Nz(strList) = "", "", strList & ";") & .ItemData(i)
        Next
        '判断更改的文本框内容是否在列表中,若是则用更改前内容加上"、"及更改后内容作为新值
        If InStr(1, .Tag, .Text) = 0 And InStr(1, strList, .Text) > 0 Then
            .Value = IIf(Nz(.Tag) = "", "", .Tag & "、") & .Text
        End If
        '判断已选及在列表内则内容不变
        If InStr(1, .Tag, .Text) > 0 And InStr(1, strList, .Text) > 0 Then
            .Value = IIf(Nz(.Text) = "", "", .Tag)
        End If
        '保存更改后的内容
        .Tag = .Value
    End With
End Function

然后在窗体的组合框更新后事件中输入函数:=MultComb(),或在事件过程中调用:

Private Sub Combo0_Change()
    Call MultComb
    Me.Child5.Form.RecordSource = "select * from tem" & IIf(Nz(Combo0, "") = "", "", " where instr(1,'" & Combo0 & "',[字段2])>0")
    Me.Child5.Form.Requery
End Sub

红色部分是动态多选查询的关键。
点击下载此附件

图 示: 点击图片查看大图

Access软件网交流QQ群(群号:198465573)
 
 相关文章
[Access源码]改进---组合框下拉列表模糊查询功能的完美实现  【漏蛧尐魚℡  2013/3/7】
Access组合框数据源设置方法,Access组合框记录源添加方法...  【学习者  2013/4/27】
Access组合框多选查询,今天教大家学习一个Access强大的组...  【宏鹏  2013/5/8】
Access文本框列表框代替组合框的联动查询  【在水一方  2013/6/25】
常见问答
技术分类
相关资源
文章搜索
关于作者

trynew

文章分类

文章存档

友情链接