以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 日期比较 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120846) |
-- 作者:q2520 -- 发布时间:2018/6/25 8:20:00 -- 日期比较 我现在有2列 第一列的格式是 2018-06-25 08:00 第二列是时间格式 08:00 想要的效果是 第二列输入的时间必须大于第一列时间6小时以上才能输入 代码要怎么写?
|
-- 作者:有点甜 -- 发布时间:2018/6/25 8:48:00 -- validateEdit事件
If e.Col.name = "第二列" Then |
-- 作者:q2520 -- 发布时间:2018/6/25 10:00:00 -- 谢谢老师 如果时间列 只能用空格输入 不让手动写时间怎样实现
|
-- 作者:有点甜 -- 发布时间:2018/6/25 10:06:00 -- keydownEdit 事件
If e.col.name = "第二列" Then e.cancel = true End If |
-- 作者:q2520 -- 发布时间:2018/6/25 11:07:00 -- 现在有2个问题 If e.Col.name = "第二列" Then Dim d1 As Date = e.Row("第一列") d1 = new Date(1900, 1, 1, d1.Hour, d1.Minute, d1.Second) Dim d2 As Date = e.text d2 = new Date(1900, 1, 1, d2.Hour, d2.Minute, d2.Second) Dim sp As TimeSpan = d2-d1 If sp.TotalHours < 6 Then e.cancel = True msgbox("不满足") End If End If 单独用这个代码的时候 如果第二列时间输入不满足6小时提示正常 但是删除的话 就会报错 还有下面这个代码 还是可以输入 If e.Col.name = "二次时间" Then e.cancel = True End If [此贴子已经被作者于2018/6/25 11:10:10编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/25 11:09:00 -- 改成
If e.Col.name = "第二列" AndAlso e.Text > "" Then |
-- 作者:q2520 -- 发布时间:2018/6/25 11:18:00 -- 还有下面这个代码 还是可以输入 If e.Col.name = "二次时间" Then e.cancel = True End If |
-- 作者:有点甜 -- 发布时间:2018/6/25 11:39:00 -- 代码写在不同的事件的,一个是validateedit,一个是keydownEdit |
-- 作者:q2520 -- 发布时间:2018/6/25 14:15:00 -- If e.Col.name = "二次时间" Then e.cancel = True End If 地方没错 keydownEdit |
-- 作者:有点甜 -- 发布时间:2018/6/25 14:19:00 -- validateEdit改成
If e.Col.name = "二次时间" AndAlso e.Text > "" Then |