Office中国论坛/Access中国论坛

标题: 【Access小品】死磕Choose--日期大写函数 [打印本页]

作者: todaynew    时间: 2010-9-20 12:12
标题: 【Access小品】死磕Choose--日期大写函数
本帖最后由 todaynew 于 2010-9-20 13:06 编辑

  将日期转换为大写的方法一定很多,可以实现这个功能的函数有Replace、Mid、Choose等。本例死磕Choose函数,主要原因是想摆脱对月和日数字的位数复杂判断,在数组元素较少的情况下,这是一个比较好的方法。

[attach]43534[/attach]

[attach]43535[/attach]

Function Myday(Mydate As Date) As String
'功能:将日期转换为大写
Dim i As Long
Dim n As Long
For i = 1 To 4
    n = Val(Mid(Year(Mydate), i, 1))
    If n = 0 Then
        Myday = Myday & "〇"
    Else
        Myday = Myday & Choose(n, "一", "二", "三", "四", "五", "六", "七", "八", "九")
    End If
Next
Myday = Myday & "年"
n = Month(Mydate)
Myday = Myday & Choose(n, "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二") & "月"
n = Day(Mydate)
Myday = Myday & Choose(n, "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", _
                           "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "廿", _
                           "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "卅", "卅一") & "日"
End Function



作者: xuwenning    时间: 2010-9-20 14:05
谢谢分享
学习了
作者: t小宝    时间: 2010-9-20 15:43
Choose确实能很好简化代码
作者: tmtony    时间: 2010-9-20 21:15
Choose确实能很好简化代码! 赞同!!
作者: apsfxc1    时间: 2010-9-21 11:06
不错,感谢分享
作者: todaynew    时间: 2010-9-21 16:54
谢谢领导和同志们的支持与鼓励。
作者: zww3008    时间: 2010-9-23 11:05
收藏了
作者: wang1950317    时间: 2010-9-23 11:26
收藏!谢谢!
作者: mewell    时间: 2010-9-23 15:23
调用EXCEL对象,大写日期转换
Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")
Set xlApp = New Excel.Application
xlApp.Visible = False
大写日期 = xlApp.WorksheetFunction.Text(2010 - 1 - 1, "[dbnum2]yyyy年m月d日")
xlApp.Quit

作者: zhaofangyuan    时间: 2010-9-26 19:05
谢谢分享!




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