Foxtable(狐表)用户栏目专家坐堂 → [求助]日期大小判定代码


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

主题:[求助]日期大小判定代码

帅哥,在线噢!
rbsoft
??1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:37 积分:422 威望:0 精华:0 注册:2018/7/5 21:52:00
[求助]日期大小判定代码??发帖心情 Post By:2019/10/8 10:32:00 [只看该作者]

附件中的“开始时间”和“结束时间” 都可以修改,但是要求:
要求:1、同一行“结束时间”必须大于“开始时间”
? ? ? ? 2、同年月日的下一行的“开始时间”必须大于上一行的“结束时间”
当违反这些要求时系统会提示。
?下载信息??[文件大小:???下载次数:?]
图片点击可在新窗口打开查看点击浏览该文件:业务记录.xlsx



?回到顶部
帅哥,在线噢!
有点蓝
??2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:34943 积分:177875 威望:0 精华:8 注册:2015/6/24 9:21:00
??发帖心情 Post By:2019/10/8 10:57:00 [只看该作者]

datacolchanging事件

Select Case e.DataCol.Name
? ? Case "开始时间","结束时间"
? ? ? ? If e.DataRow.IsNull("开始时间") OrElse e.DataRow.IsNull("结束时间")
? ? ? ? Else
? ? ? ? ? ? If e.DataRow("开始时间") >= e.DataRow("结束时间") Then
? ? ? ? ? ? ? ? msgbox("结束时间必须大于开始时间")
? ? ? ? ? ? ? ? e.Cancel = True
? ? ? ? ? ? End If
? ? ? ? End If
? ? ? ? If e.DataCol.Name = "开始时间" Then
? ? ? ? ? ? Dim dr As DataRow = e.DataTable.Find("[_Identify] < " & e.DataRow("_Identify"),"[_Identify] desc")
? ? ? ? ? ? If dr IsNot Nothing Then
? ? ? ? ? ? ? ? If e.DataRow("开始时间") <= dr("结束时间") Then
? ? ? ? ? ? ? ? ? ? msgbox("开始时间必须大于上一行结束时间")
? ? ? ? ? ? ? ? ? ? e.Cancel = True
? ? ? ? ? ? ? ? End If
? ? ? ? ? ? End If
? ? ? ? End If
End Select

?回到顶部
帅哥,在线噢!
rbsoft
??3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:37 积分:422 威望:0 精华:0 注册:2018/7/5 21:52:00
??发帖心情 Post By:2019/10/8 11:33:00 [只看该作者]

谢谢。如果按照人员工号判定呢?比如:工号:1001的人员,只判定该人员在2019-09-09的开始时间和结束时间。但是不判定1002人员的,当判定1002人员的时候,不判定1001人员的。意思是:同年月日的下一行的“开始时间”必须大于上一行的“结束时间”? 仅限于该工号人员。不同工号人员之间不受限制。请看附件。
?下载信息??[文件大小:???下载次数:?]
图片点击可在新窗口打开查看点击浏览该文件:业务记录.xlsx


?回到顶部
帅哥,在线噢!
有点蓝
??4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:34943 积分:177875 威望:0 精华:8 注册:2015/6/24 9:21:00
??发帖心情 Post By:2019/10/8 13:54:00 [只看该作者]

Dim dr As DataRow = e.DataTable.Find("[_Identify] < " & e.DataRow("_Identify") & " and?工号='" &?e.DataRow("工号")?& "'","[_Identify] desc")

?回到顶部
帅哥,在线噢!
rbsoft
??5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:37 积分:422 威望:0 精华:0 注册:2018/7/5 21:52:00
??发帖心情 Post By:2019/10/8 14:34:00 [只看该作者]

同一行,虽然修改开始时间,会提示。但是开始时间还是可以修改过来,修改过后的时间还是会大于结束时间。请看附件截图。
?下载信息??[文件大小:???下载次数:?]
图片点击可在新窗口打开查看点击浏览该文件:业务记录.xlsx

[此贴子已经被作者于2019/10/8 14:34:20编辑过]

?回到顶部
帅哥,在线噢!
有点蓝
??6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:34943 积分:177875 威望:0 精华:8 注册:2015/6/24 9:21:00
??发帖心情 Post By:2019/10/8 14:38:00 [只看该作者]

我测试没有问题,上传实例说明

代码放到datacolchanging事件,不是datacolchanged事件

?回到顶部
帅哥,在线噢!
rbsoft
??7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:37 积分:422 威望:0 精华:0 注册:2018/7/5 21:52:00
??发帖心情 Post By:2019/10/10 11:24:00 [只看该作者]

请帮忙看看附件实例,谢谢。

?回到顶部
帅哥,在线噢!
rbsoft
??8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:37 积分:422 威望:0 精华:0 注册:2018/7/5 21:52:00
??发帖心情 Post By:2019/10/10 11:24:00 [只看该作者]

请帮忙看看附件实例,谢谢
?下载信息??[文件大小:???下载次数:?]
图片点击可在新窗口打开查看点击浏览该文件:时间大小判定.zip


?回到顶部
帅哥,在线噢!
有点蓝
??9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:34943 积分:177875 威望:0 精华:8 注册:2015/6/24 9:21:00
??发帖心情 Post By:2019/10/10 11:30:00 [只看该作者]

Select Case e.DataCol.Name
? ? Case "开始时间"
? ? ? ? If e.DataRow.IsNull("开始时间") = False
? ? ? ? ? ? If e.NewValue >= e.DataRow("结束时间") Then
? ? ? ? ? ? ? ? msgbox("结束时间必须大于开始时间")
? ? ? ? ? ? ? ? e.Cancel = True
? ? ? ? ? ? End If
? ? ? ? ? ? Dim dr As DataRow = e.DataTable.Find("[_Identify] < " & e.DataRow("_Identify") & " and 工号='" & e.DataRow("工号") & "'","[_Identify] desc")
? ? ? ? ? ? If dr IsNot Nothing Then
? ? ? ? ? ? ? ? If e.NewValue <= dr("结束时间") Then
? ? ? ? ? ? ? ? ? ? msgbox("开始时间必须大于上一行结束时间")
? ? ? ? ? ? ? ? ? ? e.Cancel = True
? ? ? ? ? ? ? ? End If
? ? ? ? ? ? End If
? ? ? ? End If
? ? Case "结束时间"
? ? ? ? If e.DataRow.IsNull("结束时间") = False
? ? ? ? ? ? If e.DataRow("开始时间") >= e.NewValue Then
? ? ? ? ? ? ? ? msgbox("结束时间必须大于开始时间")
? ? ? ? ? ? ? ? e.Cancel = True
? ? ? ? ? ? End If
? ? ? ? End If

End Select

?回到顶部
帅哥,在线噢!
rbsoft
??10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:37 积分:422 威望:0 精华:0 注册:2018/7/5 21:52:00
??发帖心情 Post By:2019/10/10 13:03:00 [只看该作者]

非常感谢。

?回到顶部
总数 12 1 2 下一页