设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[模块/函数] 【源码】自动设置系统日期格式

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2011-10-12 00:09:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  1. '===============================================================================-----天鸣科技--->>>>>>>>
  2. '-函数名称:         gt_ChkDateFormat
  3. '-功能描述:         自动设置系统日期格式
  4. '-输入参数:         参数1:rblnSetDate Long 设置日期,如果为否则只是查看日期格式是否正确而不作设置
  5. '-
  6. '-返回参数:         Boolean 是否成功
  7. '-使用示例:         rblnSetDate True
  8. '-相关调用:
  9. '-使用注意:
  10. '-兼 容 性:         97,2000,XP,2003 compatible
  11. '-参考资料:         网上资料
  12. '-作    者:         王宇虹  修改:王宇虹
  13. '-创建日期;         2002-08-26  更新日期: 2002-08-28 ,2006-10-15
  14. '-图    解:
  15. '===============================================================================--<>>>>>

  16. Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long

  17. Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean

  18. Private Const LOCALE_SLONGDATE = &H20

  19. Private Const LOCALE_SSHORTDATE = &H1F

  20. Private Const LOCALE_SDATE = &H1D

  21. Private Const LOCALE_STIME = &H1E

  22. Public Function gt_ChkDateFormat(Optional rblnSetDate As Boolean = False) As Boolean
  23. Dim lngLocale   As Long
  24.     If Len(Date) <> 10 Or Mid(Date, 5, 1) <> "/" Then
  25.       
  26.      
  27.       If rblnSetDate Then
  28.       


  29.             lngLocale = GetSystemDefaultLCID()
  30.         
  31.             'If lngLocale = 2052 Then  '判断繁体 简体等
  32.                SetLocaleInfo lngLocale, LOCALE_SSHORTDATE, "yyyy-MM-dd"
  33.                SetLocaleInfo lngLocale, LOCALE_SDATE, "/"
  34.             ' End If
  35.             gt_ChkDateFormat = True
  36.             gt_MessageBox "日期格式不对,系统自动将 控制台-->地区选项(区域设置) 中日期的格式修改为:YYYY/MM/DD"
  37.       Else
  38.        gt_ChkDateFormat = False
  39.        gt_MessageBox "日期格式不对,请在 控制台-->地区选项(区域设置) 中修改日期的格式为:YYYY/MM/DD"
  40.        DoCmd.Quit
  41.       End If
  42.     Else
  43.    
  44.       If Len(Format(#1/1/2006#, "Short Date")) <> 10 Then
  45.          
  46.          If rblnSetDate Then
  47.             lngLocale = GetSystemDefaultLCID()
  48.                SetLocaleInfo lngLocale, LOCALE_SSHORTDATE, "yyyy-MM-dd"
  49.                SetLocaleInfo lngLocale, LOCALE_SDATE, "/"

  50.             gt_ChkDateFormat = True
  51.             gt_MessageBox "日期格式不对,系统自动将 控制台-->地区选项(区域设置) 中日期的格式修改为:YYYY/MM/DD"
  52.            
  53.          Else
  54.            gt_MessageBox "日期格式不对,请在 控制台-->地区选项(区域设置) 中修改日期的格式为:YYYY/MM/DD"
  55.            gt_ChkDateFormat = False
  56.            DoCmd.Quit
  57.          End If
  58.       Else
  59.         gt_ChkDateFormat = True
  60.       End If
  61.     End If
  62.   
  63. End Function
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-10-12 09:52:53 | 只看该作者
老大
好久没放源码了
支持
谢谢分享,收藏了

点击这里给我发消息

3#
 楼主| 发表于 2011-10-12 10:35:44 | 只看该作者
呵呵,是啊,杂事比较多,很少有时间整理。

点击这里给我发消息

4#
发表于 2011-10-12 13:47:51 | 只看该作者
老大的电脑可是个宝库呀,多花时间整理整理~~
5#
发表于 2011-10-12 21:32:55 | 只看该作者
t小宝 发表于 2011-10-12 13:47
老大的电脑可是个宝库呀,多花时间整理整理~~

整理好帖些上来秀下嘛,roy期待中……
6#
发表于 2012-1-16 11:41:47 | 只看该作者
什么好东东让我仔细瞧瞧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-7 13:56 , Processed in 0.119364 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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