首页 > 正文(Access2007支票打印的日期大写问题)

Access2007支票打印的日期大写问题

时间:2019-1-30 23:13:19 来源: 作者:

财务人员都知道,转账支票的出票日期是需要大写的。

如果用手写,当然可以直接填写成大写,但如果设计专用软件进行套打,

每张支票都在固定位置填写大写会很麻烦,也没有必要。这里仅以Access2007设计为例,

给这方面的爱好者提供一个思路。   

一、先设计一个Access2007表,加入转账支票可能需要的字段,比如付款人名称、付款人账号、收款人名称、付款金额、出票日期等等。

其中的“出票日期”设成“日期”类型,默认值可以设成“date()”(即当天日期)。表设计好后命名保存备用。   

 

二、新建模块,并输入以下内容   

Public Function Udate(mDATE As Date, mYMD As Integer) As String   

’用法 Udate(#1/2/2005#, i)   ‘i=1 贰零零伍   ’i=2 零壹   ‘i=3 零贰   ’i=0 贰零零伍年零壹月零贰日   

Dim i As Integer, iD As Integer   

Dim strDT(2) As String, strS As String   

Dim strD(0 To 9) As String * 1   strD(0) = “零”   strD(1) = “壹”   strD(2) = “贰”   

strD(3) = “叁”   strD(4) =“肆”   strD(5) = “伍”   strD(6) = “陆”   strD(7) = “柒”   

strD(8) = “捌”   strD(9) = “玖”   

For i = mYMD + (mYMD <> 0) To mYMD + (mYMD <> 0) - (mYMD = 0) * 2   

If i = 0 Then   iD = Year(mDATE)   

strDT(i) = strD(iD \ 1000) & strD((iD \ 100) Mod 10) & strD((iD \ 10) Mod 10) & strD(iD Mod 10)   

Else   

If i = 1 Then iD = Month(mDATE) Else iD = Day(mDATE)   

If iD > 9 Then strS = “拾” Else strS =“”   

strDT(i) = strD(iD \ 10) & strS & strD(iD Mod 10)   

If iD > 9 And iD Mod 10 = 0 Then strDT(i) = “零” & Left$(strDT(i), 2)   

End If   

Next   

Select Case mYMD   

Case 0   Udate = strDT(0) & “年” & strDT(1) & “月” & strDT(2) &“日”   

Case Else   Udate = strDT(mYMD - 1)   

End Select   

End Function   

 

三、以第一步建的表为基础新建一个查询,加入必要的字段。另在一个空白字段写表达式:“大写: Udate([出票日期],0)”。

保存这个查询。   

 

四、在原表中录入将要打印的支票信息,“出票日期”字段必须录入正确的日期。   

 

五、运行查询,就会看到有一个大写的日期字段。

有了这个结果,无论设计窗体,还是设计报表,都可以自由引用了。

 
更多

------分隔线----------------------------

 上一篇:
下一篇:
  网友评论:
验证码:  

推荐文章

    热点文章

      ContactUs(联系我们)  -  Copyright(版权隐私)  - RemovedStatement(免责声明)   - Feedback(用户反馈)

      Copyright  ©  2018-2019 GreatShip--newlifehome.com.cn  All rights reserved