Foxtable(狐表)用户栏目专家坐堂 → [求助]日期比较


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

主题:[求助]日期比较

帅哥哟,离线,有人找我吗?
紫色幽魂
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
[求助]日期比较  发帖心情 Post By:2016/12/3 22:04:00 [只看该作者]

请问下这段代码是哪儿出错了
Select Case e.DataCol.Name
    Case "料单_完成时间"
        If e.DataRow.IsNull("料单_完成时间") = False Then
            Dim d As DataRow = e.DataRow
            If d("料单_开始时间") > d("料单_完成时间") Then
                MessageBox.Show("完成时间不能小于开始时间","请注意",MessageBoxButtons.OK,MessageBoxIcon.Error)
                e.Cancel = True
            End If
        Else
            e.DataRow("料单_耗时") = Nothing
        End If
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/4 15:35:00 [只看该作者]

 有什么问题?报什么错?

 回到顶部
帅哥哟,离线,有人找我吗?
紫色幽魂
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
  发帖心情 Post By:2016/12/4 21:02:00 [只看该作者]

我的目的是在选择完成时间的时候不能选择早于开始的时间,现在是能够选择早于开始的时间,再次选择的时候会出错,并提示设置的对话框;选择晚与开始的时间正常,不能删除单元格,也会提示

 回到顶部
帅哥哟,离线,有人找我吗?
有点酸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2016/12/4 22:54:00 [只看该作者]

Select Case e.DataCol.Name
    Case "料单_完成时间","料单_开始时间"
        If e.DataRow.IsNull("料单_完成时间") = False  AndAlso e.DataRow.IsNull("料单_开始时间") = False Then
            Dim d As DataRow = e.DataRow
            If d("料单_开始时间") > d("料单_完成时间") Then
                MessageBox.Show("完成时间不能小于开始时间","请注意",MessageBoxButtons.OK,MessageBoxIcon.Error)
                e.Cancel = True
            End If
        Else
            e.DataRow("料单_耗时") = Nothing
        End If
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
紫色幽魂
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
  发帖心情 Post By:2016/12/4 23:01:00 [只看该作者]

谢谢!
请问这段代码又有什么问题呢,错误提示:未将对象引用设置到对象的实例。
我的意思是料单完成时间为空,就不能增加关联行
Dim dr As DataRow = e.DataRow.GetParentRow("主表")
If dr IsNot Nothing Then
    If dr.IsNull("料单_完成时间")  = True Then
        e.Cancel = True
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点酸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2016/12/4 23:07:00 [只看该作者]

单单这个代码,不可能出现你所说的提示。
参考:
http://www.foxtable.com/webhelp/scr/1485.htm

可以先自行找出出错的代码,这样基本就知道原因了,搞不定,在贴出代码,告知错误代码位置和错误提示。

 回到顶部
帅哥哟,离线,有人找我吗?
紫色幽魂
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
  发帖心情 Post By:2016/12/4 23:08:00 [只看该作者]

http://pan.baidu.com/s/1jII30W2
还是不行,完成时间还是能选择小于开始的时间,麻烦再帮我看看了

 回到顶部
帅哥哟,离线,有人找我吗?
有点酸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2016/12/4 23:19:00 [只看该作者]

代码写在DataColChanged事件中:

Select Case e.DataCol.Name
    Case "料单_完成时间","料单_开始时间"
        If e.DataRow.IsNull("料单_完成时间") = False  AndAlso e.DataRow.IsNull("料单_开始时间") = False Then
            Dim d As DataRow = e.DataRow
            If d("料单_开始时间") > d("料单_完成时间") Then
                MessageBox.Show("完成时间不能小于开始时间","请注意",MessageBoxButtons.OK,MessageBoxIcon.Error)
                e.DataRow(e.DataCol.name) = e.oldValue
            End If
        Else
            e.DataRow("料单_耗时") = Nothing
        End If
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
紫色幽魂
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:5399 威望:0 精华:0 注册:2015/1/23 0:31:00
  发帖心情 Post By:2016/12/5 13:41:00 [只看该作者]

谢谢

 回到顶部