[access查询]解决支票打印的日期大写问题
时 间:2008-03-14 11:22:30
作 者:贺德才 ID:140 城市:襄樊
摘 要:日期大写
正 文:
财务人员都知道,转账支票的出票日期是需要大写的。如果用手写,当然可以直接填写成大写,但如果设计专用软件进行套打,每张支票都在固定位置填写大写会很麻烦,也没有必要。这里仅以access设计为例,给这方面的爱好者提供一个思路。
一、先设计一个access表,加入转账支票可能需要的字段,比如付款人名称、付款人账号、收款人名称、付款金额、出票日期等等。其中的“出票日期”设成“日期”类型,默认值可以设成“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)”。保存这个查询。
四、在原表中录入将要打印的支票信息,“出票日期”字段必须录入正确的日期。
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)
- Access快速开发平台--让有权...(11.04)
- Access快速开发平台--审批选...(11.01)
- ACCESS两张表先各自排序,然后...(10.31)
- Access对子窗体数据进行批量+...(10.30)
- SqlServer中如何用SQL命...(10.29)
- Access报表中的分组功能用代码...(10.28)
- 用Access计算库存结余的一个方...(10.26)
- 最精简的组合框行来源数据快速输入(...(10.25)