|
- '===============================================================================-----天鸣科技--->>>>>>>>
- '-函数名称: gt_ChkDateFormat
- '-功能描述: 自动设置系统日期格式
- '-输入参数: 参数1:rblnSetDate Long 设置日期,如果为否则只是查看日期格式是否正确而不作设置
- '-
- '-返回参数: Boolean 是否成功
- '-使用示例: rblnSetDate True
- '-相关调用:
- '-使用注意:
- '-兼 容 性: 97,2000,XP,2003 compatible
- '-参考资料: 网上资料
- '-作 者: 王宇虹 修改:王宇虹
- '-创建日期; 2002-08-26 更新日期: 2002-08-28 ,2006-10-15
- '-图 解:
- '===============================================================================--<>>>>>
- Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
- Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean
- Private Const LOCALE_SLONGDATE = &H20
- Private Const LOCALE_SSHORTDATE = &H1F
- Private Const LOCALE_SDATE = &H1D
- Private Const LOCALE_STIME = &H1E
- Public Function gt_ChkDateFormat(Optional rblnSetDate As Boolean = False) As Boolean
- Dim lngLocale As Long
- If Len(Date) <> 10 Or Mid(Date, 5, 1) <> "/" Then
-
-
- If rblnSetDate Then
-
- lngLocale = GetSystemDefaultLCID()
-
- 'If lngLocale = 2052 Then '判断繁体 简体等
- SetLocaleInfo lngLocale, LOCALE_SSHORTDATE, "yyyy-MM-dd"
- SetLocaleInfo lngLocale, LOCALE_SDATE, "/"
- ' End If
- gt_ChkDateFormat = True
- gt_MessageBox "日期格式不对,系统自动将 控制台-->地区选项(区域设置) 中日期的格式修改为:YYYY/MM/DD"
- Else
- gt_ChkDateFormat = False
- gt_MessageBox "日期格式不对,请在 控制台-->地区选项(区域设置) 中修改日期的格式为:YYYY/MM/DD"
- DoCmd.Quit
- End If
- Else
-
- If Len(Format(#1/1/2006#, "Short Date")) <> 10 Then
-
- If rblnSetDate Then
- lngLocale = GetSystemDefaultLCID()
- SetLocaleInfo lngLocale, LOCALE_SSHORTDATE, "yyyy-MM-dd"
- SetLocaleInfo lngLocale, LOCALE_SDATE, "/"
- gt_ChkDateFormat = True
- gt_MessageBox "日期格式不对,系统自动将 控制台-->地区选项(区域设置) 中日期的格式修改为:YYYY/MM/DD"
-
- Else
- gt_MessageBox "日期格式不对,请在 控制台-->地区选项(区域设置) 中修改日期的格式为:YYYY/MM/DD"
- gt_ChkDateFormat = False
- DoCmd.Quit
- End If
- Else
- gt_ChkDateFormat = True
- End If
- End If
-
- End Function
复制代码 |
|