程序员人生 网站导航

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

栏目:access时间:2014-02-08 13:32:19

  财务人员都知道转账支票的出票日期是需要大写的如果用手写当然可以直接填写成大写但如果设计专用软件进行套打每张支票都在固定位置填写大写会很麻烦也没有必要这里仅以access设计为例给这方面的爱好者提供一个思路

  一先设计一个Access加入转账支票可能需要的字段比如付款人名称付款人账号收款人名称付款金额出票日期等等其中的“出票日期”设成“日期”类型默认值可以设成“date()”(即当天日期)表设计好后命名保存备用

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

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

  用法 Udate(#//# i)

  i=  贰零零伍

  i= 零壹

  i= 零贰

  i= 贰零零伍年零壹月零贰日

  Dim i As Integer iD As Integer

  Dim strDT() As String strS As String

  Dim strD( To ) As String *

  strD() = "零"

  strD() = "壹"

  strD() = "贰"

  strD() = "叁"

  strD() = "肆"

  strD() = "伍"

  strD() = "陆"

  strD() = "柒"

  strD() = "捌"

  strD() = "玖"

  For i = mYMD + (mYMD <> ) To mYMD + (mYMD <> ) (mYMD = ) *

  If i = Then

  iD = Year(mDATE)

  strDT(i) = strD(iD ) & strD((iD ) Mod ) & strD((iD ) Mod ) & strD(iD Mod )

  Else

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

  If iD > Then strS = "拾" Else strS = ""

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

  If iD > And iD Mod = Then strDT(i) = "零" & Left$(strDT(i) )

  End If

  Next

  Select Case mYMD

  Case

  Udate = strDT() & "年" & strDT() & "月" & strDT() & "日"

  Case Else

  Udate = strDT(mYMD )

  End Select

  End Function

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

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

  五运行查询就会看到有一个大写的日期字段有了这个结果无论设计窗体还是设计报表都可以自由引用了

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

最新技术推荐