Office中国论坛/Access中国论坛

标题: 日期大写函数转换 [打印本页]

作者: ok003    时间: 2005-8-2 20:41
标题: 日期大写函数转换
我在网上找到一个日期大写函数


http://www.idealfox.comeadNews.asp?NewsID=396


可以控制显示 年、月、日、全部,思路很好,功能也正符合我的需要


但是那函数好像是在fox数据库中编写的


请哪位高手帮忙转换成能在access中运行 不胜感谢!











银行票据大写日期转换程序





























银行票据大写日期转换程序





FUNCTION hz_date


LPARAMETERS mdate,mYMD


cstr1="0123456789"


cstr2="零壹贰叁肆伍陆柒捌玖"


myear=ALLTRIM(STR(YEAR(mdate)))


mmont=ALLTRIM(STR(mont(mdate)))


mday=ALLTRIM(STR(day(mdate)))


cyear=CHRTRANC(myear,cstr1, cstr2)


cmont=IIF(LEN(mmont)=1,"零"+CHRTRANC(mmont,cstr1, cstr2),;


      IIF(SUBSTR(mmont,2,1)="0","零"+SUBSTRC(CHRTRANC(mmont,cstr1, cstr2),1,1)+"拾",;


      SUBSTRC(CHRTRANC(mmont,cstr1, cstr2),1,1)+"拾"+SUBSTRC(CHRTRANC(mmont,cstr1, cstr2),2,1)))


cday=IIF(LEN(mday)=1,"零"+CHRTRANC(mday,cstr1, cstr2),;


      IIF(SUBSTR(mday,2,1)="0","零"+SUBSTRC(CHRTRANC(mday,cstr1, cstr2),1,1)+"拾",;


      SUBSTRC(CHRTRANC(mday,cstr1, cstr2),1,1)+"拾"+SUBSTRC(CHRTRANC(mday,cstr1, cstr2),2,1)))


cdate=cyear+"年"+cmont+"月"+cday+"日"


   


do case


    case mYMD=0


        RETURN cdate


    case mYMD=1


       RETURN cyear


    case mYMD=2


        RETURN cmont


    case mYMD=3


        RETURN cday


endcase


FUNCTION


*****


调用方式:


a1=hz_date(date(),1)      返回 “贰零零肆”


a2=hz_date(date(),2)      返回 “零伍”


a3=hz_date(date(),3)      返回 “壹拾贰”


a4=hz_date(date(),0)      返回 “贰零零肆年零伍月壹拾贰日”


*****







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