首页 > 学院 > 基础常识 > 正文

支票打印的日期大写问题解决方法(Access2007软件)

2020-04-13 20:06:26
字体:
来源:转载
供稿:网友

支票打印的日期大写问题解决方法Access2007软件

  财务人员都知道,转账支票的出票日期是需要大写的。如果用手写,当然可以直接填写成大写,但如果设计专用软件进行套打,每张支票都在固定位置填写大写会很麻烦,也没有必要。这里仅以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)”。保存这个查询。
  
  四、在原表中录入将要打印的支票信息,“出票日期”字段必须录入正确的日期。
  
  五、运行查询,就会看到有一个大写的日期字段。有了这个结果,无论设计窗体,还是设计报表,都可以自由引用了。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表