Access从罗斯文数据库中修改的拼音助记码函数

2017-09-01 16:05:00
todaynew-Office交流网
原创
1761
罗斯文数据库中的原函数为:
Public Function PinYin(Tstr As String) As Long
Dim I As Long

I = Asc(Tstr)

If I >= Asc("啊") And I < Asc("芭") Then PinYin = 1

If I >= Asc("芭") And I < Asc("擦") Then PinYin = 2

If I >= Asc("擦") And I < Asc("搭") Then PinYin = 3

If I >= Asc("搭") And I < Asc("蛾") Then PinYin = 4

If I >= Asc("蛾") And I < Asc("发") Then PinYin = 5

If I >= Asc("发") And I < Asc("噶") Then PinYin = 6

If I >= Asc("噶") And I < Asc("哈") Then PinYin = 7

If I >= Asc("哈") And I < Asc("击") Then PinYin = 8

If I >= Asc("击") And I < Asc("喀") Then PinYin = 9

If I >= Asc("喀") And I < Asc("垃") Then PinYin = 10

If I >= Asc("垃") And I < Asc("妈") Then PinYin = 11

If I >= Asc("妈") And I < Asc("拿") Then PinYin = 12

If I >= Asc("拿") And I < Asc("哦") Then PinYin = 13

If I >= Asc("哦") And I < Asc("啪") Then PinYin = 14

If I >= Asc("啪") And I < Asc("欺") Then PinYin = 15

If I >= Asc("欺") And I < Asc("然") Then PinYin = 16

If I >= Asc("然") And I < Asc("撒") Then PinYin = 17

If I >= Asc("撒") And I < Asc("塌") Then PinYin = 18

If I >= Asc("塌") And I < Asc("挖") Then PinYin = 19

If I >= Asc("挖") And I < Asc("昔") Then PinYin = 20

If I >= Asc("昔") And I < Asc("压") Then PinYin = 21

If I >= Asc("压") And I < Asc("匝") Then PinYin = 22

If I >= Asc("匝") And I <= Asc("座") Then PinYin = 23

End Function



经过修改后,可以成为拼音助记码函数,详细源码:


Public Function PinYin(Tstr As String) As String
Dim I As String

I = Asc(Tstr)

If I >= Asc("啊") And I < Asc("芭") Then PinYin = "a"

If I >= Asc("芭") And I < Asc("擦") Then PinYin = "b"

If I >= Asc("擦") And I < Asc("搭") Then PinYin = "c"

If I >= Asc("搭") And I < Asc("蛾") Then PinYin = "d"

If I >= Asc("蛾") And I < Asc("发") Then PinYin = "e"

If I >= Asc("发") And I < Asc("噶") Then PinYin = "f"

If I >= Asc("噶") And I < Asc("哈") Then PinYin = "g"

If I >= Asc("哈") And I < Asc("击") Then PinYin = "h"

If I >= Asc("击") And I < Asc("喀") Then PinYin = "j"

If I >= Asc("喀") And I < Asc("垃") Then PinYin = "k"

If I >= Asc("垃") And I < Asc("妈") Then PinYin = "l"

If I >= Asc("妈") And I < Asc("拿") Then PinYin = "m"

If I >= Asc("拿") And I < Asc("哦") Then PinYin = "n"

If I >= Asc("哦") And I < Asc("啪") Then PinYin = "o"

If I >= Asc("啪") And I < Asc("欺") Then PinYin = "p"

If I >= Asc("欺") And I < Asc("然") Then PinYin = "q"

If I >= Asc("然") And I < Asc("撒") Then PinYin = "r"

If I >= Asc("撒") And I < Asc("塌") Then PinYin = "s"

If I >= Asc("塌") And I < Asc("挖") Then PinYin = "t"

If I >= Asc("挖") And I < Asc("昔") Then PinYin = "w"

If I >= Asc("昔") And I < Asc("压") Then PinYin = "x"

If I >= Asc("压") And I < Asc("匝") Then PinYin = "y"

If I >= Asc("匝") And I <= Asc("座") Then PinYin = "z"

If Not (I >= Asc("芭") And I <= Asc("座")) Then PinYin = Tstr

py_Exit:
Exit Function
py_Err:
PinYin = ""
Resume py_Exit

End Function


这里有点bug,用ASC不行,好多字出不来,特别是药品化学名。


(算法函数_API_系统-相关文章技巧链接):
支持拼音首字母的组合框函数及实例

批量生成没有音标的拼音首字母和汉字笔画数

分享