北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
今天在做组合框,首字母搜索自动跳出时遇到一个问题,比如说首字母是“c”的,如陈、程,都能跳出来,但是“曹”就跳不出来,估计是
hzpy函数中的问题(这个是直接复制的,一直没看懂),请问如何解决?
1、组合框更改的代码:
Me.员工ID.RowSource = " SELECT 员工ID,姓名,离开方式 FROM 人员信息表" _
& " WHERE ((员工ID <> 'Y001') And (离开方式 Is Null))" _
& " AND (姓名 Like '*" & Trim(Replace(Me.员工ID.Text, "'", "''")) & "*'" _
& " OR HZPY(姓名) Like '*" & HZPY(Trim(Replace(Me.员工ID.Text, "'", "''"))) & "*')" _
& " ORDER BY 姓名"
Function HZPY(hzstr As String) As String
Dim p0 As String, C As String, str As String
Dim i As Integer, j As Integer
p0 = "吖八嚓咑妸发旮铪讥讥咔垃呣拿讴趴七呥仨他哇哇哇夕丫匝咗"
For i = 1 To Len(hzstr)
C = "z"
str = Mid(hzstr, i, 1)
If Asc(str) > 0 Then
C = str
Else
For j = 1 To 26
If Mid(p0, j, 1) > str Then
C = Chr(95 + j)
Exit For
End If
Next
End If
HZPY = HZPY + C
Next
End Function