以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 突发异常 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=114181) |
-- 作者:石四 -- 发布时间:2018/1/31 9:47:00 -- 突发异常 今天公司里所有电脑打开系统某个窗口时都弹出下面提示,导致这个窗口不能正常运行.其他窗口有些也涉及日期格式但正常. Year, Month, and Day parameters describe an un-representable DateTime.
有遇到过相同问题的吗?怎么破? |
-- 作者:有点甜 -- 发布时间:2018/1/31 10:00:00 -- 你窗口afterLoad事件写了什么代码?窗口有没有sql形式表格?
有没有转换成日期的语句?一般是空值形式的日期值导致的。
|
-- 作者:石四 -- 发布时间:2018/1/31 10:10:00 -- Dim y As Integer = Date.Today.Year If m > 2 Then
貌似是上面那段代码出问题,我直接改成 mt1 = New Date(2018, 1, 1) 测试就能通过.但是之前用那段代码一直正常的呀. |
-- 作者:石四 -- 发布时间:2018/1/31 10:17:00 -- Dim y As Integer = Date.Today.Year \'If m > 2 Then 完整的代码 |
-- 作者:有点甜 -- 发布时间:2018/1/31 10:36:00 -- 日计算错误呗,每个月的最后一天都可能是不同的。28、29、30、31都有可能。如果要用你原来的逻辑,就这样写
mt1 = Date.Today.AddMonths(-2) |
-- 作者:石四 -- 发布时间:2018/1/31 10:45:00 -- 以下是引用有点甜在2018/1/31 10:36:00的发言:
日计算错误呗,每个月的最后一天都可能是不同的。28、29、30、31都有可能。如果要用你原来的逻辑,就这样写
mt1 = Date.Today.AddMonths(-2) 标注没有删除,实际是取当天之前三个月时间段. |
-- 作者:石四 -- 发布时间:2018/1/31 10:47:00 -- 哦,11月没有31日. |
-- 作者:有点甜 -- 发布时间:2018/1/31 10:48:00 -- 自行学习日期变量的加减
http://www.foxtable.com/webhelp/scr/1337.htm
|
-- 作者:狐狸爸爸 -- 发布时间:2018/1/31 10:51:00 -- 1、去控制面板修改日期时间格式。 2、或者: cmd.CommandText = "SELECT DISTINCT 客户名称,收货仓,司机,装卸,车号 Fro m {销售明细} WHERE 日期 >= #" & mt1 & "# And 日期 <= #" & mt2 & "#" 改为: cmd.CommandText = "SELECT DISTINCT 客户名称,收货仓,司机,装卸,车号 Fro m {销售明细} WHERE 日期 >= #" & Format(mt1,"MM/dd/yyyy") & "# And 日期 <= #" & Format(mt2,"MM/dd/yyyy") & "#"
[此贴子已经被作者于2018/1/31 10:51:39编辑过]
|
-- 作者:石四 -- 发布时间:2018/1/31 10:53:00 -- 以下是引用有点甜在2018/1/31 10:36:00的发言:
日计算错误呗,每个月的最后一天都可能是不同的。28、29、30、31都有可能。如果要用你原来的逻辑,就这样写
mt1 = Date.Today.AddMonths(-2) 三个月即90天前是这样用吧? Date.Today.AddDays(-90)) |