Foxtable(狐表)用户栏目专家坐堂 → [求助]不能录入小于原值


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

主题:[求助]不能录入小于原值

帅哥哟,离线,有人找我吗?
湛江智
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
[求助]不能录入小于原值  发帖心情 Post By:2018/12/11 18:12:00 [只看该作者]

 不能录入小于原值,下面的代码无效,怎么修改呢?
第一列是整数列
DataColChanging

 If e.DataRow("第一列").NewValue <e.DataRow("第一列").oldValue  Then
        MessageBox.Show("不能录入小于原值!")
            e.Cancel = True '则取消编辑
End If


[此贴子已经被作者于2018/12/11 18:17:26编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/11 18:14:00 [只看该作者]


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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)参考 http://www.foxtable....  发帖心情 Post By:2018/12/11 18:18:00 [只看该作者]

如果第一列是日期列,录入的日期不能早于或晚于原日期呢?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/11 19:40:00 [只看该作者]

用法完全一样,直接比较即可

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点蓝)用法完全一样,直接比较即可  发帖心情 Post By:2018/12/20 16:43:00 [只看该作者]

 如果增加一个条件:设计任务要求_实际设计面积为空时,不可以录入100
下面代码怎么修改呢?

If e.DataCol.name = "进度" AndAlso e.DataRow.RowState <> DataRowState.Added Then  
    If Tables("表A").Current("设计任务要求_实际设计面积") Is Nothing Then
        If e.newvalue = 100 Then
            msgbox("实际设计面积不能为空!")
            e.cancel = True
        End If
    End If
End If
[此贴子已经被作者于2018/12/20 17:02:00编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/20 17:26:00 [只看该作者]

If e.DataCol.name = "进度" AndAlso e.DataRow.RowState <> DataRowState.Added Then  
    If e.datarow("设计任务要求_实际设计面积") = nothing Then
        If e.newvalue = 100 Then
            msgbox("实际设计面积不能为空!")
            e.cancel = True
        End If
    End If
End If

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)If e.DataCol.name = "进度" AndAlso...  发帖心情 Post By:2018/12/25 21:58:00 [只看该作者]

 下面代码怎么修改,整改下面2段代码呢?求助

项目为空时,进度输入100,提示:不能小于已完成的进度  再提示 项目不能为空!   ,想实现不提示:提示:不能小于已完成的进度

项目不为空时,进度输入100 失败!  提示:不能小于已完成的进度    想实现能输入100



If e.DataCol.name = "进度" AndAlso e.DataRow.RowState <> DataRowState.Added Then
    If e.DataRow.OriginalValue(e.DataCol.name) <> Nothing AndAlso e.newvalue < e.DataRow.OriginalValue(e.DataCol.name) Then
        msgbox("不能小于已完成的进度")
        e.cancel = True
    End If

    If e.DataRow("项目") = Nothing Then
        If e.newvalue = 100 Then
            msgbox("项目不能为空!")
            e.cancel = True
        End If
    End If
End If
[此贴子已经被作者于2018/12/25 22:02:07编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/25 22:18:00 [只看该作者]

没看明白。到底是提示还是不提示?

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点蓝)没看明白。到底是提示还是不提示?  发帖心情 Post By:2018/12/25 22:30:00 [只看该作者]

简单点说,就是项目列为空,进度不能输入100

进度输入的值只能输入比之前大的值

不满足上面条件时提示


[此贴子已经被作者于2018/12/25 22:40:46编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/25 22:53:00 [只看该作者]

If e.DataCol.name = "进度" 
    If e.DataRow.isnull("项目") andalso e.newvalue = 100 Then
            msgbox("项目不能为空!")
            e.cancel = True
    elseIf e.DataRow.RowState <> DataRowState.Added andalso e.DataRow.OriginalValue(e.DataCol.name) <> Nothing AndAlso e.newvalue < e.DataRow.OriginalValue(e.DataCol.name) Then
        msgbox("不能小于已完成的进度")
        e.cancel = True
    End If
End If

 回到顶部