以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]出现两个相同字符提示修改  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74838)

--  作者:ZHX88863808
--  发布时间:2015/9/20 17:53:00
--  [求助]出现两个相同字符提示修改
表A列中如果出现两个AA字符,请提示修改,(一个A字符不要修改,如BDAAC要修改,而BDAC不要修改),请前辈老师帮忙写个代码,谢谢!
--  作者:大红袍
--  发布时间:2015/9/20 18:06:00
--  

DataColChanging事件

 

If e.NewValue Like "*AA*" Then

msgbx("不行")

e.Cancel = True

End If


--  作者:ZHX88863808
--  发布时间:2015/9/20 18:12:00
--  

老师:没有成功,可能我没说清楚,我说的是表A的A列中,如果出现两个相同的字符AA就给予提示修改,请老师帮忙修改一下,谢谢!


--  作者:大红袍
--  发布时间:2015/9/20 19:31:00
--  
If e.DataCol.name = "第一列"
    If e.NewValue Like "*AA*" Then
       
        msgbox("不行")
       
        e.Cancel = True
    End If
End If

--  作者:globemobile
--  发布时间:2015/9/20 20:08:00
--  
 那出现 “BB”   “CC” 也要考虑吧

--  作者:大红袍
--  发布时间:2015/9/20 20:12:00
--  
If e.DataCol.name = "第一列"
    Dim ps As String = ""
    For Each s As String In e.NewValue
        If s = ps Then
            msgbox("不行")
            e.Cancel = True
            Exit For
        End If
        ps = s
    Next
End If

--  作者:ZHX88863808
--  发布时间:2015/9/20 20:23:00
--  

谢谢老师,但是上面这段代码在第一列一出现两相同字符AA时,就删除掉,但我的本意是不删除而是保持原来内容,只是提示修改,最好是如果不修改的话就不可以在第二列输入内容,等修改完才可在第二列输入内容。请老师再帮忙修改一下,谢谢!


--  作者:大红袍
--  发布时间:2015/9/20 20:25:00
--  

ValidateEdit事件

 

If e.Col.name = "第一列"
    Dim ps As String = ""
    For Each s As String In e.Text
        If s = ps Then
            msgbox("不行")
            e.Cancel = True
            Exit For
        End If
        ps = s
    Next
End If


--  作者:ZHX88863808
--  发布时间:2015/9/20 20:44:00
--  

老师:这里我很想第一列出两个"AA"字符时(这里我还想说明一下,如果是两个相同的数字,那就不受其影响),第二列不可录入内容,而其他列可以录入,如果要在第二列录入数据时,必须要修改第一列两个相同的“AA"内容,请再帮忙修一下,谢谢!


--  作者:大红袍
--  发布时间:2015/9/20 20:49:00
--  

StartEdit事件

 

If e.Col.name = "第二列"
    Dim ps As String = ""
    For Each s As String In e.Row("第一列")
        If s <> cstr(val(s)) AndAlso s = ps Then
            msgbox("不行")
            e.Cancel = True
            Exit For
        End If
        ps = s
    Next
End If