Office中国论坛/Access中国论坛

标题: 【源码】自动设置系统日期格式 [打印本页]

作者: tmtony    时间: 2011-10-12 00:09
标题: 【源码】自动设置系统日期格式

  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
复制代码

作者: xuwenning    时间: 2011-10-12 09:52
老大
好久没放源码了
支持
谢谢分享,收藏了
作者: tmtony    时间: 2011-10-12 10:35
呵呵,是啊,杂事比较多,很少有时间整理。
作者: t小宝    时间: 2011-10-12 13:47
老大的电脑可是个宝库呀,多花时间整理整理~~
作者: roych    时间: 2011-10-12 21:32
t小宝 发表于 2011-10-12 13:47
老大的电脑可是个宝库呀,多花时间整理整理~~

整理好帖些上来秀下嘛,roy期待中……
作者: atscj    时间: 2012-1-16 11:41
什么好东东让我仔细瞧瞧?




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