以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  设置数据后不能修改?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46090)

--  作者:发财
--  发布时间:2014/2/17 9:53:00
--  设置数据后不能修改?
为什么设置数据 

If e.DataCol.Name = "重量" Then

    If e.NewValue > 500 Or  e.NewValue < 5  Then

        e.Cancel = True

    End If

End If

If e.DataCol.Name = "份数" Then

    If e.NewValue = 1 Or  e.NewValue = 0.75 Or e.NewValue = 0.5 Or e.NewValue = 0.25 Then

        e.Cancel = False

    Else

        e.Cancel = True

    End If

End If

 

之后,每次录入后都不能修改?


--  作者:Bin
--  发布时间:2014/2/17 9:59:00
--  
根据你的代码,只有输入重量在小于5 或者大于500的情况

或者 份数非 1 0.75 0.5 0.25 才会无法修改录入


你可以上个例子看看

--  作者:发财
--  发布时间:2014/2/17 10:10:00
--  
是直接不能在数据表里修改。
--  作者:Bin
--  发布时间:2014/2/17 10:11:00
--  
不明白你的意思,请上例子.
--  作者:发财
--  发布时间:2014/2/17 10:15:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.rar


--  作者:发财
--  发布时间:2014/2/17 10:16:00
--  
第一、第二列不能直接修改
--  作者:Bin
--  发布时间:2014/2/17 10:19:00
--  
我测试一切正常啊. 第一列小于5 大于500无法修改   第二列 不是1 0.25 0.75 无法修改啊. 和代码是完全符合的啊?
--  作者:发财
--  发布时间:2014/2/17 10:23:00
--  
录入后不能直接在单元格清空数据?
--  作者:Bin
--  发布时间:2014/2/17 10:31:00
--  
图片点击可在新窗口打开查看我晕,你一开始直接说你要清空数据不就完了.   提问一定要精准,不要来回N个回合才说出自己真正的问题.浪费大家的时间.


不能清空很简单,因为清空就不符合你代码判断的条件了,所以你要在条件中多增加一条,判断空值也符合你的要求.


If e.DataCol.Name = "第一列" Then
    If (e.NewValue > 500 Or  e.NewValue < 5) AndAlso e.NewValue IsNot Nothing Then
        e.Cancel = True
    End If
End If
If e.DataCol.Name = "第二列" Then
    If e.NewValue = 1 Or  e.NewValue = 0.75 Or e.NewValue = 0.5 Or e.NewValue = 0.25 Then
        e.Cancel = False
    Else If e.NewValue IsNot Nothing Then
        e.Cancel = True
    End If
End If

--  作者:发财
--  发布时间:2014/2/17 10:34:00
--  
对不起!多谢了!