以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请教关于日期和时间问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=8383)

--  作者:shixia
--  发布时间:2010/10/15 15:43:00
--  请教关于日期和时间问题

我想写个考勤项目,其中有一列“日期时间”列,列类型为DateLongTime型,在表事件中设代码如下:

if e.datacol.name = "日期时间" then

    if e.datarow("日期时间") >= #08:00:00# then

         e.datarow("迟到")=true

    end if

End if

但是,实践证明 日期时间列好象无法用> < 等关系运算符。不知各位有什么好办法

后来 我改用e.DataRow("时间").Hour  e.DataRow("时间").Minute    e.DataRow("时间").second  来比较,但是仍然不行。 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:考勤.rar

[此贴子已经被作者于2010-10-15 15:43:31编辑过]

--  作者:czy
--  发布时间:2010/10/15 16:00:00
--  

上传文件不要用开发版!

 

If e.DataCol.name = "日期时间" Then
    If e.DataRow("日期时间").Hour & ":" & e.DataRow("日期时间").Minute >= #08:00:00# Then
        e.DataRow("迟到")=True
    End If
End If


--  作者:shixia
--  发布时间:2010/10/15 17:41:00
--  

不行啊,如代码为

  If e.DataRow("时间").Hour & ":" & e.DataRow("时间").Minute & ":" & e.DataRow("时间").second > #12:00:00# Then
        e.DataRow("上下午")="下午"
    Else
        e.DataRow("上下午")="上午"
    End If

现在 时间为 17:36:11 却显示 为 上午

如是我把 上下午 对调一下,再增加一行 17:36:11 显示为 “下午”,是正确。但是如果我把系统时间 人工调整为 07:36:11 后,再增加一行 ,却仍然显示为 “下午”。请CZY再看看。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:考勤.rar


--  作者:czy
--  发布时间:2010/10/15 18:00:00
--  

这样应该可行吧?

 

If e.DataRow("时间").Hour  > 12 Then
        e.DataRow("上下午")="下午"
    Else
        e.DataRow("上下午")="上午"
    End If


--  作者:shixia
--  发布时间:2010/10/16 11:44:00
--  

CZY,还是不行啊,帮我想想办法。(见附件例子)

另:狐爸不知能否提供 “开发版”向“商业版”转换的功能,因为开发版用户在写项目时经常用开发版写,一旦有问题需要咨询,总不能大费周转把整个项目双用商业版写一遍吧,如果项目不复杂还好,如果复杂了那个上论坛咨询一个问题就太费力了;如果说狐爸不提供商业版向开发版转换有利益方面的考虑,但是从开发版向商业 版转换应该对狐爸没有大的影响。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:考勤.rar


--  作者:czy
--  发布时间:2010/10/16 12:01:00
--  

我这台电脑没用开发版,打不开你的项目,测试好象没发现你说的问题。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

[此贴子已经被作者于2010-10-16 12:04:17编辑过]

--  作者:shixia
--  发布时间:2010/10/16 12:50:00
--  
找到原因了,谢谢CZY