以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请指教关于录入数据如何设置有效性  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12332)

--  作者:tcclqy
--  发布时间:2011/8/30 10:28:00
--  请指教关于录入数据如何设置有效性
我做了一个材料编码表,列有“总代码”、“大类代码”、“小类代码”“名称代码”、“规格代码”,其中后面的4个代码是根据目录树自动生成的,我想人工录入“总代码”,而该代码是后面4个代码相加组合,为防止录入时发生错误,当录入的“总代码”不是后面四个代码相加组合时,系统进行提示,如何做到?请不吝赐教,最好一步一步的明确!谢谢了!!! qq:478185715


--  作者:狐狸爸爸
--  发布时间:2011/8/30 10:34:00
--  

DataColChanged事件代码:

 

Dim dr As DataRow = e.DataRow

Select Case e.DataCol.Name

   Case "总代码"

      If dr("总代码") <>  dr("大类代码") & dr("小类代码") & dr("名称代码")  & dr("规格代码") Then

           MessageBox.show("兄弟,错了")

      End If

End Select


--  作者:tcclqy
--  发布时间:2011/8/30 10:40:00
--  

谢谢兄弟!事件代码在哪里找呀!请指教!

 


--  作者:狐狸爸爸
--  发布时间:2011/8/30 10:52:00
--  

表属性 - 事件 - DataColChanged

 

作为初学者,最好按顺序系统性的看两三遍帮助,如果跳跃式地看帮助,会越看越糊涂。

 

图片点击可在新窗口打开查看


--  作者:tcclqy
--  发布时间:2011/8/30 14:50:00
--  

谢谢兄弟,真的可以了。万分感谢了!!!


--  作者:tcclqy
--  发布时间:2011/8/30 14:55:00
--  

不过,还有个毛病,在出错后,提醒了“兄弟,错了”之后,直接进入下一行了,最好不退出编辑,直到正确为止,是不是在endif之前还要加一句????

 


--  作者:狐狸爸爸
--  发布时间:2011/8/30 15:17:00
--  

改代码位置,设置在ValidateEdit事件:

 

Dim dr As Row = e.Row

Select Case e.Col.Name

    Case "总代码"

        If e.Text <> dr("大类代码") & dr("小类代码") & dr("名称代码") & dr("规格代码") Then

            MessageBox.show("兄弟,错了")

            e.Cancel = True

        End If

End Select

[此贴子已经被作者于2011-8-30 15:17:45编辑过]

--  作者:tcclqy
--  发布时间:2011/8/31 10:11:00
--  

Thank you so much!