自动提示_根据拼音首字母或中文自动检索提示

2471a80d1f75c72f0a759fd7726b61e8.png

根据Access软件网网站上前辈分享的示例,做了修改,重新结合自身需要的功能做了个示例,分享给大家学习,输入拼音就检索拼音,输入中文就检索中文。

Private Sub 姓名_Change()

If biaozhi Then

'如果是在“更新后”事件之后触发的“更改”事件,需要加载所有数据,以确保能正常显示,

'否则当绑定列和显示的列不是同一字段的时候,会造成实际是有值的,但是显示的是空的

Me.姓名.RowSource = " Select 姓名,工号,班组,岗位 FROM 员工信息 orDER BY 姓名"

biaozhi = False '然后再恢复标志变量

Else

'正常输入触发“更新后”事件时,根据当前输入的文字,对其进行模糊查询

'这里要注意3点:

'1. 需要用Text属性才能正确取得输入的文字内容,因为这时值还未更新,所以不能使用Value属性

'2.

Me.姓名.RowSource = " Select 姓名,工号,班组,岗位 FROM 员工信息 ORDER BY 姓名"

Me.姓名.Dropdown

End If

Dim ASCMA As Long

Me.助记码 = Me.姓名.Text

If Len(Nz(Me.助记码)) > 0 Then ASCMA = Asc(Me.助记码)

If (ASCMA > 96 And ASCMA < 123) or (ASCMA > 64 And ASCMA < 91) Then

Me.姓名.RowSource = "Select 姓名,工号,班组,岗位,HZPY([姓名]) AS 首字母 FROM 员工信息 Where getpyszm([姓名]) Like [Forms]![诚信实时信息录入]![助记码] & '*'"

Me.姓名.Dropdown

End If

If biaozhi Then

'如果是在“更新后”事件之后触发的“更改”事件,需要加载所有数据,以确保能正常显示,

'否则当绑定列和显示的列不是同一字段的时候,会造成实际是有值的,但是显示的是空的

Me.姓名.RowSource = " Select 姓名,工号,班组,岗位 FROM 员工信息 orDER BY 姓名"

biaozhi = False '然后再恢复标志变量

Else

'正常输入触发“更新后”事件时,根据当前输入的文字,对其进行模糊查询

'这里要注意3点:

'1. 需要用Text属性才能正确取得输入的文字内容,因为这时值还未更新,所以不能使用Value属性

'2.

Me.姓名.RowSource = " Select 姓名,工号,班组,岗位 FROM 员工信息 ORDER BY 姓名"

Me.姓名.Dropdown

End If

Dim ASCMA As Long

Me.助记码 = Me.姓名.Text

If Len(Nz(Me.助记码)) > 0 Then ASCMA = Asc(Me.助记码)

If (ASCMA > 96 And ASCMA < 123) or (ASCMA > 64 And ASCMA < 91) Then

Me.姓名.RowSource = "Select 姓名,工号,班组,岗位,HZPY([姓名]) AS 首字母 FROM 员工信息 Where getpyszm([姓名]) Like [Forms]![诚信实时信息录入]![助记码] & '*'"

Me.姓名.Dropdown

End If

End Sub

演 示:

593f87dcd8f0c2a2604447f1d7f543fc.gif

示例下载:

在“了解更多”里下载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值