设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4231|回复: 9
打印 上一主题 下一主题

[模块/函数] 【Access小品】死磕Choose--日期大写函数

[复制链接]
跳转到指定楼层
1#
发表于 2010-9-20 12:12:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 todaynew 于 2010-9-20 13:06 编辑

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





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


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-9-20 14:05:00 | 只看该作者
谢谢分享
学习了

点击这里给我发消息

3#
发表于 2010-9-20 15:43:43 | 只看该作者
Choose确实能很好简化代码

点击这里给我发消息

4#
发表于 2010-9-20 21:15:53 | 只看该作者
Choose确实能很好简化代码! 赞同!!
5#
发表于 2010-9-21 11:06:11 | 只看该作者
不错,感谢分享
6#
 楼主| 发表于 2010-9-21 16:54:51 | 只看该作者
谢谢领导和同志们的支持与鼓励。
7#
发表于 2010-9-23 11:05:43 | 只看该作者
收藏了

点击这里给我发消息

8#
发表于 2010-9-23 11:26:46 | 只看该作者
收藏!谢谢!
9#
发表于 2010-9-23 15:23:58 | 只看该作者
调用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
10#
发表于 2010-9-26 19:05:51 | 只看该作者
谢谢分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-11 08:27 , Processed in 0.076951 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表