|
本帖包含附件
在公共模块中建立函数:
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
红色部分是动态多选查询的关键。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|