Foxtable(狐表)用户栏目专家坐堂 → [求助]系统升级到win10后,长时间给软件造成的干扰


  共有2386人关注过本帖树形打印复制链接

主题:[求助]系统升级到win10后,长时间给软件造成的干扰

帅哥哟,离线,有人找我吗?
ehomecd
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:267 积分:2562 威望:0 精华:0 注册:2008/11/9 18:30:00
[求助]系统升级到win10后,长时间给软件造成的干扰  发帖心情 Post By:2016/1/19 14:52:00 [只看该作者]

今天突然发现个问题,系统升级win10后,原来正常使用的软件报错:【该字符串未被识别为有效的 DateTime。有一个从索引 11 处开始的未知字。】
经过排查发现是升级后系统的时间自动变成了长时间,导致筛选字符串出错。
因为不可能让所有用户出现问题的时候都去修改时间设置,请问在代码中如何设置,可以强制将系统长时间转换成短时间,避免受到系统的干扰?


图片点击可在新窗口打开查看此主题相关图片如下:2016年1月19日1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2016年1月19日2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2016年1月19日3.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2016年1月19日4.png
图片点击可在新窗口打开查看

以下是我的筛选树代码:
Dim Filter As String = ""

If e.node.Name <> "显示所有记录" Then
    Dim d1 As Date
    Dim d2 As Date
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Quarter As Integer = e.Node.DataRow("季度")
    Dim Product As String = e.Node.DataRow("部门")
    
    Select Case e.Node.Level
        Case 0
            d1 = New Date(Year,1,1) '取得该年的第一天
            d2 = new Date(Year,12,31) '取得该年的最后一天
            
            d1 = Format(d1,"yyyy-MM-dd")
            d2 = Format(d2,"yyyy-MM-dd")
            msgbox(d1)

            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
        Case 1
            d1 = New Date(Year, 3 * (Quarter - 1) + 1, 1) '获取该季度的第一天
            d2 = New Date(Year, 3 * Quarter, Date.DaysInMonth(Year,3 * Quarter)) '获取该季度的最后一天
            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
        Case 2
            d1 = New Date(Year, 3 * (Quarter - 1) + 1, 1) '获取该季度的第一天
            d2 = New Date(Year, 3 * Quarter, Date.DaysInMonth(Year,3 * Quarter)) '获取该季度的最后一天
            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# And 部门 = '" & Product & "'"
    End Select
    Tables("外宣信息记录").Filter = Filter
    msgbox(filter)
Else
    Tables("外宣信息记录").Filter = ""
End If

[此贴子已经被作者于2016/1/19 14:52:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/19 14:55:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
ehomecd
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:267 积分:2562 威望:0 精华:0 注册:2008/11/9 18:30:00
  发帖心情 Post By:2016/1/19 14:57:00 [只看该作者]

如果让每个客户都去设置时间,毕竟比较麻烦,有没有办法在代码中进行规范?

我觉得如果程序本身能够解决这个问题,就不要去麻烦客户。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/19 14:59:00 [只看该作者]

日期格式如果不对,之后的操作会有各种各样的问题,必须设置电脑才是最佳的选择。

 回到顶部
帅哥哟,离线,有人找我吗?
ehomecd
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:267 积分:2562 威望:0 精华:0 注册:2008/11/9 18:30:00
  发帖心情 Post By:2016/1/19 15:01:00 [只看该作者]

也就是说这个解决方案就是必须让用户更改系统时间格式;没有第二个选择了。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/19 15:02:00 [只看该作者]

是的,不然foxtable内部的很多东西也会导致出错。

 回到顶部
帅哥哟,离线,有人找我吗?
ehomecd
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:267 积分:2562 威望:0 精华:0 注册:2008/11/9 18:30:00
  发帖心情 Post By:2016/1/19 15:27:00 [只看该作者]

狐表下次更新的话,能否也采取时间戳的机制,时间函数仅仅是对时间戳进行操作,这样就不会受操作系统干扰。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/19 15:36:00 [只看该作者]

 你想用代码处理也行,就截取字符串就好。

 

Dim str As String = "2015-01-13 星期五"

Dim d As date = str.split(" ")(0)

msgbox(d)


 回到顶部
帅哥哟,离线,有人找我吗?
ztmdnzc
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:501 积分:4167 威望:0 精华:0 注册:2013/1/18 13:34:00
  发帖心情 Post By:2016/1/21 16:27:00 [只看该作者]

郑州的?

 回到顶部