Office中国论坛/Access中国论坛

标题: Help! [打印本页]

作者: avbho    时间: 2002-8-20 18:14
标题: Help!
HELP!!
1)我已下载了数字货币转换为中文大写的编码! TXT文件
2)但不知在access中怎样使用!

谢谢各位高手,教我!

作者: NeilChen    时间: 2002-8-20 18:24
下面是我写的一个函数,你只需要新建一模块将下面的代码复制进去,那么你在查询及报表及窗体中都可以使用了。方法:ConvertCH([字段名或控件名])

代码:
Public Function ConvertCH(num As String) As String
Dim chnum As String, chsig As String
Dim s, res As String
Dim i As Integer
chnum = ("零一二三四五六七八九")
chsig = "分角元拾佰仟万拾佰仟亿"
res = ""
num = num + IIf(InStr(num, ".") = 0, ".", "")
s = Left(num, InStr(num, ".") - 1) + Mid(num + "  ", InStr(num, ".") + 1, 2)
For i = 1 To Len(s)
     res = res + Mid(chnum, (Val(Mid(s, i, 1))) + 1, 1) + Mid(chsig, Len(s) - i + 1, 1)
Next i
ConvertCH = res
End Function

作者: HG    时间: 2002-8-20 19:26
陳理先生,好作品,代碼發精練。
可以看一看一樣同類作品哪?
ftp:access-cn@office-cn.net/hg.mdb passwd:access-cn
作品有一個數據換英文的轉換函數,但現在的問題是只能處理長度為3位以上和3位的倍數的數字,因我一知為此問題所困撓,可以幫忙debug嗎?多多謝。
作者: zyz    时间: 2002-8-20 19:36
还是 yuab 版主的好!

http://www.office-cn.net/bbs/dis ... p;ID=323&skin=1

[em26]
作者: NeilChen    时间: 2002-8-20 20:30
HG,

    其实上面的代码只是给大家一个提示及参考

    你可以考虑使用数组,可以解决你的问题,将上面的方法改改就可以使用到英文转换中

作者: HG    时间: 2002-8-20 21:54
但是英文數字轉換和中文的不同,這是兩種語言的不同。我曾經試過用已可以使用的中文轉換代碼修改為英文的,但出現了不少的問題,而我覺得HG.mdb中的哪個英文轉換思路很棒,但問題如上所述,我曾努力的調試過,因水平有現,所以末通過。請陳大俠,伸出友誼之手。

作者: 大熊    时间: 2002-8-20 22:08
实乃思维缜密,构思巧妙之作!
作者: HG    时间: 2002-10-1 01:45
陳理先生的代碼,真的是太短小精涵了,巧妙的算法!果真不一般耶!
看來哪麼多人考MSOFFICE的認證是有原因的啦。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3