以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 比较时间的大小问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78284) |
-- 作者:zhangchi96 -- 发布时间:2015/12/6 12:35:00 -- 比较时间的大小问题 有两个表【外部数据表A】【内部数据表B】,结构相同,都有列“存盘时间”,日期时间型,列属性为DateTime
1、把外部数据表加载到【外部数据表A】,然后通过SQL命令,保存到本机的mdb 文件中,
2、用Merge命令,把mdb文件的数据合并到【内部数据表B】
3、代码: Dim gzbz1 As DateTime Dim gzbz2 As DateTime gzbz1 = DataTables("内部数据表A").Compute("Max(存盘时间)",
" ") gzbz2 = DataTables("外部数据表B").Compute("Max(存盘时间)",
" ") Dim X As Integer
‘ 返回两个时间的比较结果 If gzbz1 > gzbz2 then X = 0 Elseif gzbz1 = gzbz2 then X = 0 Elseif gzbz1 < gzbz2 then X = 1 End if 4、返回x的结果始终都是1 ,请问这是什么原因,两个时间的值的都是2015-12-06 09:47,在不要求太精准的情况,在时间相差1分钟内,都能返回 X = 0 |
-- 作者:大红袍 -- 发布时间:2015/12/6 15:07:00 -- 弹出值看看。
msgbox(gzbz1 & " " & gzbz2) |
-- 作者:zhangchi96 -- 发布时间:2015/12/6 16:49:00 -- 弹出了 都是 2015-12-06 09:47 会不会和EXCEL 里 一样 ,用 差额 再取个 近似值 ,可以吗?(我不知道怎么减法)
[此贴子已经被作者于2015/12/6 16:50:01编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/12/6 16:52:00 -- 弹出
msgbox(gzbz1 & " " & gzbz2)
msgbox(gzbz1 = gzbz2)
msgbox(format(gzbz1, "yyyyMMddHHmmss") = format(gzbz2, "yyyyMMddHHmmss")) |
-- 作者:zhangchi96 -- 发布时间:2015/12/6 17:01:00 -- 三个结果 : 2015-12-06 09:47 2015-12-06 09:47 false true
|
-- 作者:大红袍 -- 发布时间:2015/12/6 17:24:00 -- 那你就用最后一个判断 |