Access從羅斯文數據庫中修改的拚音助記碼函數

2017-09-01 16:05:00
todaynew-Office交流網
原創
2251
羅斯文數據庫中的原函數爲:
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_繫統-相關文章技巧鏈接):
支持拚音首字母的組閤框函數及實例

批量生成沒有音標的拚音首字母和漢字筆畵數

分享