组合框根据输入自动匹配展开
时 间:2020-08-16 13:30:54
作 者:甘   ID:48957  城市:昆山
摘 要:前几日在输入产品代码时总是要查来查去,比较麻烦,在用很多软件的时候他们都会有根据输入自动匹配展开的功能。当时就想我能不能开发一个,之后问麦老师,老师指导说搜索模糊查询。找了几个帖子,觉得太复杂了,要新建模块,N多行代码,弄不明白。索性自己研究。找来基本书,再结合百度,终于弄出下面的代码,不到50行搞定。代码中“?”是中文字符,我粘贴的时候自动变成了“?”。懒得改了,我想愿意看的应该看的懂,不愿意看的我改也没意思。
正 文:
前几日在输入产品代码时总是要查来查去,比较麻烦,在用很多软件的时候他们都会有根据输入自动匹配展开的功能。当时就想我能不能开发一个,之后问麦老师,老师指导说搜索模糊查询。找了几个帖子,觉得太复杂了,要新建模块,N多行代码,弄不明白。索性自己研究。找来基本书,再结合百度,终于弄出下面的代码,不到50行搞定。代码中“?”是中文字符,我粘贴的时候自动变成了“?”。懒得改了,我想愿意看的应该看的懂,不愿意看的我改也没意思。
	
	Private Sub ???????_AfterUpdate()
	If Not IsNull(Me.???????) Then
If DCount("*", "My_ProductTable", "???????='" & Me.??????? & "'") = 0 Then
MsgBox "????????л??????????????", vbOKOnly, "????"
Me.??????? = ""
End If
Me.??λ = Nz(DLookup("??λ", "My_ProductTable", "???????='" & Me.??????? & "'"), "")
Me.??????? = Nz(DLookup("???????", "My_ProductTable", "???????='" & Me.??????? & "'"), "")
Me.?????? = Nz(DLookup("??????", "My_ProductTable", "???????='" & Me.??????? & "'"), "")
Me.?????? = Nz(DLookup("??????", "My_ProductTable", "???????='" & Me.??????? & "'"), "")
End If
Me.TempKey = ""
If DCount("*", "My_ProductTable", "???????='" & Me.??????? & "'") = 0 Then
MsgBox "????????л??????????????", vbOKOnly, "????"
Me.??????? = ""
End If
Me.??λ = Nz(DLookup("??λ", "My_ProductTable", "???????='" & Me.??????? & "'"), "")
Me.??????? = Nz(DLookup("???????", "My_ProductTable", "???????='" & Me.??????? & "'"), "")
Me.?????? = Nz(DLookup("??????", "My_ProductTable", "???????='" & Me.??????? & "'"), "")
Me.?????? = Nz(DLookup("??????", "My_ProductTable", "???????='" & Me.??????? & "'"), "")
End If
Me.TempKey = ""
	End Sub
	Private Sub ???????_KeyDown(KeyCode As Integer, Shift As Integer)
	If KeyCode < 33 Then Exit Sub
If Nz(Me.TempKey, "") = "" Then
Me.???????.RowSource = "Select TOP 10 ??????? FROM My_ProductTable Where ??????? LIKE '" & "*" & Chr(KeyCode) & "*-1" & "' orDER BY ??????? "
Me.TempKey = Chr(KeyCode)
Else
Me.???????.RowSource = "Select TOP 10 ??????? FROM My_ProductTable Where ??????? LIKE '" & "*" & Me.TempKey & Chr(KeyCode) & "*-1" & "' orDER BY ??????? "
Me.TempKey = Me.TempKey & Chr(KeyCode)
End If
Me.???????.Dropdown
If Nz(Me.TempKey, "") = "" Then
Me.???????.RowSource = "Select TOP 10 ??????? FROM My_ProductTable Where ??????? LIKE '" & "*" & Chr(KeyCode) & "*-1" & "' orDER BY ??????? "
Me.TempKey = Chr(KeyCode)
Else
Me.???????.RowSource = "Select TOP 10 ??????? FROM My_ProductTable Where ??????? LIKE '" & "*" & Me.TempKey & Chr(KeyCode) & "*-1" & "' orDER BY ??????? "
Me.TempKey = Me.TempKey & Chr(KeyCode)
End If
Me.???????.Dropdown
End Sub
刚刚测试了一下,上面这段代码对数字符号及字母组成的字符是有效的,但对于中文字符不能实现其效果,请其他高手多多指教!
	
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
 - 用Access连续窗体制作的树...(11.03)
 - 【Access高效办公】上一年...(10.30)
 - Access制作的RGB转CM...(09.22)
 - Access制作的RGB调色板...(09.15)
 - Access制作的快速车牌输入...(09.13)
 - 【Access高效办公】统计当...(06.30)
 - 【Access高效办公】用复选...(06.24)
 - 根据变化的日期来自动编号的示例...(06.20)
 - 【Access高效办公】按日期...(06.12)
 
  学习心得
最新文章
- 用Access连续窗体制作的树菜单...(11.03)
 - 【Access高效办公】上一年度累...(10.30)
 - Access做的一个《中华经典论语...(10.25)
 - Access快速开发平台--加载事...(10.20)
 - 【Access有效性规则示例】两种...(10.10)
 - EXCEL表格扫描枪数据录入智能处...(10.09)
 - Access快速开发平台--多行文...(09.28)
 - 关于从Excel导入长文本数据到A...(09.24)
 - Access制作的RGB转CMYK...(09.22)
 - 关于重装系统后Access开发的软...(09.17)
 

  
.gif)
