[原创]多选组合框及动态查询
时 间:2009-08-07 08:54:11
作 者:Trynew ID:2645 城市:广州
摘 要:多选组合框及动态查询
正 文:
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交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 通过命令按钮让Access列表...(04.24)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)

学习心得
最新文章
- 仓库管理实战课程(15)-月度库存...(04.30)
- Access选择打印机、横纵向、纸...(04.29)
- 仓库管理实战课程(14)-出库功能...(04.26)
- 通过命令按钮让Access列表框指...(04.24)
- 仓库管理实战课程(13)-入库功能...(04.21)
- Access控件美化之--美化按钮...(04.19)
- Access多行文本按指定字符筛选...(04.18)
- Microsoft Access数...(04.18)
- 仓库管理实战课程(12)-月度结存...(04.16)
- 仓库管理实战课程(11)-人性化操...(04.15)