以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 自动编号的问题(关于_Indentify) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=154520) |
-- 作者:昱飞哥 -- 发布时间:2020/9/17 8:58:00 -- 自动编号的问题(关于_Indentify) 我希望客户信息表每增加一行,新增加的那行里的“客户编号”自动填入当前行的“_Indentify”的值,于是我在“客户信息表”的dataRowAdded事件写代码: Dim dr As DataRow = e.DataRow dr("客户编号") = dr("_Identify") 因为“客户编号”是不能重复的,所以,又在DataColChanging事件写代码: If e.DataCol.Name = "客户编号" Then Dim dr As DataRow dr = e.DataTable.Find("客户编号 = \'" & e.NewValue & "\' And [_Identify] <> " & e.DataRow("_Identify") ) \'如果在"客户编号"列能找到与新输入的值一样的值 If dr IsNot Nothing Then MessageBox.Show("此客户编号已经存在,不可新增!") e.Cancel = True End If End If 但是有个问题,本身("_Identify")应该是独一无二,不会重复的,也就是说上面这段DataColChanging事件代码应该可以不用写才对,然而,实际情况是,有时候新增一行,却会提示("此客户编号已经存在,不可新增!"),这是什么情况? |
-- 作者:有点蓝 -- 发布时间:2020/9/17 9:34:00 -- dataRowAdded事件写代码: Dim dr As DataRow = e.DataRow dr.save ‘没有保存之前_Identify都是假的值 dr("客户编号") = dr("_Identify") |
-- 作者:昱飞哥 -- 发布时间:2020/9/17 19:06:00 -- 谢谢老师,终于明白了 |